本题考察phpmyadmin 4.8.1后台任意文件包含漏洞(CVE-2018-12613)的漏洞复现
进来是一堆汉字乱码
但是题目提示数据库, 肯定有什么藏起来的东西,F12查看网络请求,看到有捕捉到一个网络请求,
让我们找数据库,那先想到的就是目录爆破
dirsearch启动
payload:
python dirsearch.py -u http://3e4997c8-f39a-458a-819b-512f4aa58c3c.node4.buuoj.cn:81/
发现很多429状态码,这样是扫太快了,
设置-s参数调整线程数,设置慢一点再扫,
python dirsearch.py -u http://3e4997c8-f39a-458a-819b-512f4aa58c3c.node4.buuoj.cn:81/ -e -s1
-s设置了,-e也得设置,不然会报错
-s1 设置线程数为1
扫出来的结果还是很多429,但是貌似不影响我们扫到应该扫到的关键文件,那就先不管了
等待扫描的时候先来尝试几个敏感文件,比如robots.txt
告诉了一个文件名phpinfo.php
访问一下是网站当前php版本的信息
等待爆破结果
看到目录/phpmyadmin/,加上题目是我有一个数据库,于是想到本题应该就是和phpmyadmin数据库有关系
访问这个目录,直接就进入了phpmyadmin数据库,并且不需要登陆,
尝试用sql语句写shell,点击执行,但是没用,
select '<?php eval($_POST[1]);?>' into outfile '/var/www/html'
注意右下角的phpmyadmin版本是4.8.1,这个版本的phpmyadmin存在一个漏洞CVE-2018-12613,
是个后台任意文件包含漏洞
一、漏洞描述
phpMyAdmin 是一套开源的、基于Web的MySQL数据库管理工具。在 4.8.2 之前的 phpMyAdmin 4.8.x 中发现了一个问题,其中攻击者可以在服务器上包含文件。该漏洞来自 phpMyAdmin 中重定向和加载页面的部分代码,以及对白名单页面的不当测试。其index.php中存在一处文件包含逻辑,通过二次编码即可绕过检查,造成远程文件包含漏洞。攻击者必须经过身份验证,以下情况除外:
$cfg[‘AllowArbitraryServer’] = true:攻击者可以指定已经控制的任何主机,并在 phpMyAdmin 上执行任意代码;
$cfg[‘ServerDefault’] = 0:这绕过登录并在没有任何身份验证的情况下运行易受攻击的代码。二、漏洞影响
4.8.0 <= phpMyAdmin < 4.8.2参考文章:
https://www.jianshu.com/p/0d75017c154f
找源代码index.php