绕过CDN查找源站IP
本文最后更新于497 天前,其中的信息可能已经过时,如有错误请发送邮件到3260245294@qq.com

查了一下关于这个问题的国内外大大小小的网站,对其中说的一些方法总结归纳形成。

首先,先要明确一个概念,如果人CDN做得好,或者整个站都用CDN加速了,你是几乎找不到他的源站IP的,因为对于你来说被CDN给屏蔽了,是个黑盒子。

下面,我们从一些特别的角度去绕过CDN找源站IP,如有错处,请大家不吝赐教

由于成本问题,可能某些厂商并不会将所有的子域名都部署 CDN,所以如果我们能尽量的搜集子域名,或许可以找到一些没有部署 CDN 的子域名,拿到某些服务器的真实 ip/ 段
然后关于子域名搜集的方式很多,就不一一介绍了,我平时主要是从这几个方面搜集子域名:

1、SSL 证书
2、爆破
3、Google Hacking
4、同邮箱注册人
4、DNS 域传送
5、页面 JS 搜集
6、网络空间引擎

查询 DNS 历史解析记录

常常服务器在解析到 CDN 服务前,会解析真实 ip,如果历史未删除,就可能找到
常用网站:

http://viewdns.info/
https://x.threatbook.cn/
http://www.17ce.com/
https://dnsdb.io/zh-cn/
https://securitytrails.com/
http://www.ip138.com/
https://github.com/vincentcox/bypass-firewalls-by-DNS-history

MX 记录(邮件探测)

这个很简单,如果目标系统有发件功能,通常在注册用户/找回密码等地方,通过注册确认、验证码等系统发来的邮件进行查看邮件原文即可查看发件IP地址。
SSL 证书探测
我们可以利用空间引擎进行 SSL 证书探测
443.https.tls.certificate.parsed.extensions.subject_alt_name.dns_names:www.baidu.com
再放一个搜集证书的网站:

https://crt.sh

一个小脚本,可以快速搜集证书(python)

import requests
import re
 
TIME_OUT = 60
def get_SSL(domain):
    domains = []
    url = 'https://crt.sh/?q=%25.{}'.format(domain)
    response = requests.get(url,timeout=TIME_OUT)
    # print(response.text)
    ssl = re.findall("<TD>(.*?).{}</TD>".format(domain),response.text)
    for i in ssl:
        i += '.' + domain
        domains.append(i)
    print(domains)
 
if __name__ == '__main__':
    get_SSL("baidu.com")

1.判断是否存在CDN

查找网站真实IP的第一步是先查看当前站点是否部署了CDN,而较为简单快捷的方式就是通过本地Nslookup查询目标站点的DNS记录,若存在CDN,则返回CDN服务器的地址,若不存在CDN,则返回的单个IP地址,我们认为它就是目标站点的真实IP。
除了使用nslookup,还可以通过第三方站点的DNS解析记录或者多地ping的方式去判断是否存在CDN。判断CDN只是个开始,不加赘述。。。

2.二级域名入手

目标站点一般不会把所有的二级域名放cdn上,比如试验性质的二级域名。Google site一下目标的域名,看有没有二级域名出现,挨个排查,确定了没使用cdn的二级域名后,本地将目标域名绑定到同ip,能访问就说明目标站与此二级域名在同一个服务器上。不在同一服务器也可能在同C段,扫描C段所有开80端口的ip,挨个试。如果google搜不到也不代表没有,我们拿常见的二级域名构造一个字典,猜出它的二级域名。比如mail、cache、img。

扫描c段好用工具:zmap(https://www.cnblogs.com/China-Waukee/p/9596790.html)

3.境外ping

很多国内的CDN没有节点对国外服务,国外的请求会直接指向真实ip。有人说用国外NS和或开国外VPN,但这样成功率太低了。我的方法是用国外的多节点ping工具,例如just-ping,全世界几十个节点ping目标域名,很有可能找到真实ip。

4.找国外冷门DNS:
大部分CDN提供商只针对国内市场,而对国外市场几乎是不做CDN,国外的请求有很大的几率会直接指向真实ip。不用上国外vpn,只需要:nslookup xxx.com 国外dns,就行了,例如:nslookup xxx.com 8.8.8.8,提示:你要找冷门国外DNS才行,像谷歌的DNS,国内用的人越来越多了,很多CDN提供商都把谷歌DNS作为国内市场之一,所以,你查到的结果会和国内差不了多少

用国外的多节点ping工具,例如just-ping(http://www.just-ping.com/),全世界几十个节点ping目标域名,很有可能找到真实ip。

https://censys.io/certificates/###通过SSL证书查询真实IP(推荐)
https://site.ip138.com/  ###DNS、IP等查询
http://ping.chinaz.com/   ###多地ping
http://ping.aizhan.com/ ###多地ping
https://myssl.com/dns_check.html#dns_check   ###DNS查询
https://securitytrails.com/   ### DNS查询
https://dnsdb.io/zh-cn/   ###DNS查询
https://x.threatbook.cn/   ###微步在线
http://toolbar.netcraft.com/site_report?url=   ###在线域名信息查询
http://viewdns.info/   ###DNS、IP等查询
https://tools.ipip.net/cdn.php   ###CDN查 询IP

2、相关工具

子域名查询工具:layer子域名挖掘机,dirbrute,Oneforal

(下载链接:https://github.com/shmilylty/OneForAll,推荐)

如果觉得本文对您有所帮助,可以支持下博主,一分也是缘
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇