前言
前些日子有人问到我溯源反制方面的问题,我就想到了MySQL任意文件读取这个洞,假设你在内网发现或扫到了一些MySQL的弱口令,你会去连吗?
原理
MySQL中 load data local infile '/etc/passwd' into table test fields terminated by '\n'; 语句可以读取客户端本地文件并插进表中,那么我们可以伪造一个恶意的服务器,向连接服务器的客户端发送读取文件的payload。这个技术并不新鲜,但是合理利用就能起到一些不错的成果。
利用
抓个包看看连MySQL时客户端和服务端通信的两个关键点:
服务端先返回了版本、salt等信息:

客户端向服务端发送账号密码信息后,服务端返回了认证成功的包:

至此,我们只需等待客户端再发一个包,我们就能发送读取文件的payload了,再看看读取文件这个包:

这里000001是指数据包的序号,fb是指包的类型,最后一个框是指要读取的文件名,而最前面的14是指文件名的长度(从fb开始,16进制),所以payload则是chr(len(filename) + 1) + "\x00\x00\x01\xFB" + file

本文介绍了如何利用MySQL任意文件读取漏洞设置蜜罐,从而获取攻击者的微信ID。通过伪装正常MySQL服务器,等待攻击者尝试弱口令连接后,读取其Windows系统的微信配置文件。此外,还探讨了可能获取的其他敏感信息和面临的问题。
最低0.47元/天 解锁文章
678

被折叠的 条评论
为什么被折叠?



