1. 首页
  2. 渗透测试

MySQL服务端恶意读取客户端文件漏洞

【推荐学习】暗月渗透测试培训 十多年渗透经验,体系化培训渗透测试 、高效学习渗透测试,欢迎添加微信好友aptimeok 咨询。

mysql协议中流程和go语言实现的恶意mysql服务器:https://blog.csdn.net/ls1120704214/article/details/88174003

poc :https://github.com/allyshka/Rogue-MySql-Server

简单的原理:http://aq.mk/index.php/archives/23/

今天实验了好久,直到最后一次才成功,之前的几次什么都读取不到,搞了一个下午,到现在,没午睡,好困呀,写完睡觉去,晚上起来还要肝概率论和攻防世界

使用的mysql客户端:Navicat

我直接在物理机上实现这个过程,如果想对比的更清楚,可以在自己的虚拟机上来实验,模拟linux的客户端来读取,一般服务器都是linux系统。

先把源码dump下来,然后修改py脚本中的port(随你,一般是3306),这里我修改成了3307,filelist是你想要读取的客户端文件,然后修改成想读取的

MySQL服务端恶意读取客户端文件漏洞

然后进入命令行, python2 .\rogue_mysql_server.py   配置完后放着

MySQL服务端恶意读取客户端文件漏洞

开启Navicat

MySQL服务端恶意读取客户端文件漏洞

连接我们伪造的恶意mysql服务器

然后就会读取到需要的文件,在mysql.log中

MySQL服务端恶意读取客户端文件漏洞

确实读取到了hosts文件,但是并不会读取到第二个我需要读取的文件1.txt。

因为只有客户端请求一次后,才能读取一个文件。原因是客户端连接成功后只执行了select @@version_comment limit 1来获取详细版本信息(Source Distribution ),一次查询只能获取一个文件,如果在客户端执行两次查询就可以获取后面两个文件。呢么我们查询下

MySQL服务端恶意读取客户端文件漏洞

 确实读取到了1.txt

MySQL服务端恶意读取客户端文件漏洞

终于算试验成功了,不实验根本体会不到这种感觉。

涉及到2019DDCTF中的mysql弱命令和国赛中的宇宙最简单的sql

本文来自https://www.cnblogs.com/BOHB-yunying/p/10820453.html,经授权后发布,本文观点不代表立场,转载请联系原作者。

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息