0%

MysqlClientAttack

#漏洞分析

在mysql中可以通过load data local infile "/var/lib/mysql-files/test.txt" into table test命令,将本地文件上传至MySQL服务器,实际上,服务器可以直接发出请求来读取客户端文件,而不需要经过用户同意。

抓包分析

客户端发出命令请求
image.png
服务端发出读取文件请求
image.png
客户端发送文件
image.png
若是服务端直接发出读取文件请求,客户端便会直接发送本地文件。

攻击思路


客户端连接服务器
服务器发送Greeting包,要求客户端提供密码
image.png
客户端发送登陆请求
image.png
服务端直接发出ok,然后服务端直接发出读取文件请求
image.png
客户端便会直接发送本地文件。
image.png

攻击总览


image.png
注意中间的query request是每次登陆成功的版本号查询,我们并未响应
image.png

自动化工具


image.png
详见 https://github.com/lcark/MysqlClientAttack/

利用过程


运行脚本,监听本地端口
image.png
客户端连接
image.png
一有连接,即可读取到客户端文件

image.png