MySQL服务端恶意读取客户端文件漏洞 (DDCTF2019和国赛均涉及到这个漏洞)

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是你想要读取的客户端文件,然后修改成想读取的

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

开启Navicat

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

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

 

 

 

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

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

 

 确实读取到了1.txt

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

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

2021/1/20记录

由于最近新出的蓝屏路径漏洞,看到Key神发的朋友圈,于是做一个笔记

可以通过该漏洞与蓝屏的路径漏洞结合,做一个蜜罐诱导攻击者连接恶意mysql服务器,然后通过客户端本地读取该路径导致直接蓝屏,非常的骚

于是Mark一下

\\.\globalroot\device\condrv\kernelconnect

还可以通过XSS漏洞,同可以做一个蜜罐

 

<script>document.location='\\\.\\globalroot\\device\\condrv\kernelconnect';</script>

 

 

 

posted @ 2019-05-06 16:33  yunying  阅读(3367)  评论(0编辑  收藏  举报