前言
在墨者学院看到这道题给的标签是文件包含,就想着拿来练练手,果然不练不知道一练吓一跳,里面还是有很多我没学到(sql注入)和不懂的知识,所以就打算单独拿出来写一篇博客来记录一下。
phpMyAdmin是一套开源的、基于Web的MySQL数据库管理工具。其index.php中存在一处文件包含逻辑,通过二次编码即可绕过检查,造成文件包含漏洞。
在phpMyadmin 4.8.x版本中,程序没有严格控制用户的输入,攻击者可以利用双重编码绕过程序的白名单限制,造成 本地文件包含漏洞。
直接弱口令登录进入后台: root/root
①首先访问以下路径(原理:传送门)
http://124.70.71.251:43786/index.php?target=db_sql.php%3f/../../../../../../../../etc/passwd
出现以下,说明成功利用文件包含漏洞。
将命令写入session文件中,以用来下面进行session文件包含(里面执行的操作,会被记录到这个文件内)
查找session id 值 =cookie中的phpmyadimin的值
即为 0arnca8p0kr5834q42gq9dv45fthdl6e。
此时就可以知道Session的文件名为sees_0arnca8p0kr5834q42gq9dv45fthdl6e.
这样文件包含漏洞就可以进行利用了:UNIX系统中存放路径为/tmp/sess_session id
访问session文件
/index.php?target=db_sql.php%253f/../../../../../../tmp/sess_0arnca8p0kr5834q42gq9dv45fthdl6e
获取网页当前的绝对路径
路径为/var/www/html/
执行sql语句,上传一句话木马
select ' 呜呜呜我太厉害了 ' into outfile '/var/www/html/1.php'
访问一下1.php(这个时候php代码已经执行啦,直接用蚁剑来连接)
key.txt在根目录下
还有一个小疑点(代码审计)没有搞懂,搞懂了再回来补。
文章参考:https://blog.csdn.net/weixin_39190897/article/details/99078864
phpMyAdmin 4.8.x(最新版) 本地文件包含漏洞利用 - 云+社区 - 腾讯云 (tencent.com)
phpmyadmin文件包含漏洞复现(CVE-2018-12613)_bfengj的博客-CSDN博客_phpmyadmin漏洞