渗透测试-DNS重绑定

本文详细介绍了DNS重绑定的概念,它是SSRF绕过的一种策略,用于欺骗客户端请求的IP地址。通过ceye.io、基础自建和Singularity三种方法展示了DNS重绑定的实现过程,并探讨了其在网络攻击中的作用。此外,还提供了相关参考文章以深入理解DNS重绑定攻击。

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

- 前言 -

SSRF绕过的一种思路,就是利用DNS重绑定,它也被广泛用于绕过同源策略,本质就是欺骗客户端请求的IP地址。

但是之前都是用如xip.io等别人搭建好的平台去利用,没有自己搞过,也没能彻底理解其中的原理

- DNS重绑定 -

浏览网页过程中,用户在地址栏中输入包含域名的网址,浏览器通过DNS服务器将域名解析为IP地址,然后向对应的IP地址请求资源,最后展现给用户。即 域名 => 公共DNS服务器 => IP

但是作为域名的所有者,可以随时设置解析IP,举例如下:

用户第一次访问,解析域名test.gm7.org的IP为104.21.26.222

在用户第二次访问前,修改域名解析的IP为127.0.0.1

用户第二次访问,解析域名test.gm7.org的IP为127.0.0.1

[!tip]

一般来说我们的操作系统默认能够将DNS返回来的这个IP地址信息保存60秒,而超过60秒后如果需要再次访问这个域名,就会重新去请求一次dns

对于浏览器来说,两次访问的都是同一域名,是符合浏览器的同源策略的,但是第二次访问解析到其他IP,调用到了其他资源。这样的行为被称之为域名重新绑定攻击(DNS ReBinding)。

[!tip]

简而言之:当我们发起域名解析请求的时候,第一次访问会返回一个ip地址A,但是当我们发起第二次域名解析请求的时候,却会返回一个不同于A的ip地址B。

- 实现方法 - 

ceye

ceye.io个人信息最下方,可以设置解析IP,具体说明:http://ceye.io/dns-rebinding

有一个注意点:就是每次都是随机返回一个设置的IP,所以可能大概率碰运气

验证:

重绑定使用域名:r.abcdef.ceye.io or *.r.abcdef.ceye.io

基础自建

前提是有域名,然后增加一个A记录和一个NS记录

此时访问dra.gm7.org域名,先解析该域名的DNS域名为dr.gm7.org,指向10开头的这台服务器。

在10开头的这台服务器上,运行如下python脚本

[!tip]

在ubuntu中,可能会遇到53端口被占用情况,可以尝试

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值