【墨者学院】:phpMyAdmin后台文件包含分析溯源

0x00.题目描述:

背景介绍

phpMyAdmin是一套开源的、基于Web的MySQL数据库管理工具。其index.php中存在一处文件包含逻辑,通过二次编码即可绕过检查,造成远程文件包含漏洞。

实训目标

1、了解此漏洞形成的原因;

2、掌握此漏洞的利用方式。

解题方向

根据漏洞编号找到相关知识。

0x01.解题思路:

靶场环境:一个MySQL登录的界面

第一种方法:mysql数据库命令执行,写入一句话木马

首先使用弱口令对mysql数据库进行登录,这边我是看网上已经有的教程来做的,用户名密码均为root,实际的操作应该用bp的intruder模块来对账号进行弱口令的爆破,这个方面之前做的不多,后续要对intruder模块进行一个深入的了解。

登录之后,在控制台可来进行一个数据库安装目录的查看,命令是:show variables like 'datadir';

数据库目录

可以使用常用的web网站目录来对其进行一个写入测试,首先写入一个phpinfo文件,命令是:select '' into outfile '/var/www/html/test.php';。接着访问test.php文件,可以看到phpinfo信息。

接着就是写一句话木马进去了,命令是:select "" into outfile "/var/www/html/hacker.php";。这里注意,必须单引号双引号交替使用,不然语句会报错。写完菜刀直接进行连接。

蚁剑连接一句话木马

可以在根目录中查到,key的值。

第二种方法:利用文件包含来查找web站点后台路径

首先第一步还是要先利用MySQL数据库的弱口令来进行爆破,登录进入数据库。

可以看到数据库的版本号为4.8.1,可以查到该版本存在一个文件包含漏洞,CVE-2018-12613,具体的利用方式是:index.php??target=db_sql.php%253f/../../../../../../../../etc/passwd,可见/etc/passwd是可以被读取的,故而是存在文件包含漏洞。

再者在数据库控制台写入一个phpinfo文件,没有回显,但是按F12,在cookie栏中会有一个cookie凭证。

下一步就是想办法访问这个phpinfo信息,利用这个文件包含漏洞来访问,访问链接为:index.php??target=db_sql.php%253f/../../../../../../../../tmp/sess_(你的cookie)。

知道了web站点的物理路径后,在SQL数据库中写入一句话木马,然后菜刀getshell,方法同第一种。

0x02.总结:

1.新知识点get,文件包含漏洞,具体的利用方法就是可能某个文件有文件包含的源码,并且是存在文件路径可控的情况,比如说这个例子中,index.php文件有文件包含的源码,控制路径的参数为target参数,故而可以访问到服务器内部的一些文件。这就是文件包含漏洞。

2.常用的路径总结:MySQL数据库安装目录(/var/lib/mysql),web站点默认目录(/var/www/html/)。

3.phpinfo()信息收集,一般是mysql写入,然后看有没有cookie信息在tmp文件目录下来进行访问;或者是知道物理路径的前提下,直接在MySQL中写入。

4.MySQL数据库写入:select ";" into outfile "/var/www/html/hacker.php";

你可能感兴趣的:(【墨者学院】:phpMyAdmin后台文件包含分析溯源)