您的位置:首页 > 运维架构 > 网站架构

绕过CDN查看网站真实IP的一些办法

2017-05-18 18:13 429 查看

绕过CDN查看网站真实IP的一些办法

验证是否存在CDN最简单的办法
通过在线的多地ping,通过每个地区ping的结果得到IP。

看这些IP是否一致,如果都是一样的,极大可能不存在cdn,但不绝对。

如果这些IP大多数都不太一样或者规律性很强,可以尝试查询这些IP的归属地,判断是否存在CDN。

验证IP和域名是否真实对应最简单的办法
修改本地hosts文件,强行将域名与IP解析对应。

然后访问域名查看页面是否变化。

ping
假设如下存在cdn ----> ping www.sysorem.xyz

可以尝试ping sysorem.xyz,很多厂商可能让www使用cdn,空域名不是有cdn缓存。

所以直接ping sysorem.xyz可能就能得到真实IP。

分站域名
很多网站主站的访问量会比较大,所以往往主站都挂着cdn的。

但是分站就不一定了,毕竟cdn要钱,而且也不便宜。

所以可能一些分站就没有挂着cdn,所以有时候可以尝试通过查看分站IP。

可能是同个IP或者同个站都是没准的。

国外访问
国内的CDN往往只会针对国内用户访问加速。

所以国外就不一定了。因此通过国外代理访问就能查看真实IP了。

或者通过国外的DNS解析,可能就能得到真实的IP。

MX及邮件
mx记录查询,一般会是C段。

一些网提供注册服务,可能会验证邮件,还有RSS订阅邮件,忘记密码等

可能服务器本身自带sendmail可以直接发送邮件,当然使用第三方的除外(如网易,腾讯等)

当然这个IP也要验证是否为主站的

web版的邮件管理,可以通过常看网页源代码看到IP

xss
水坑式***,是让服务器主动连接我们的一种方式。

找phpinfo()之类的探针

DOS
DDoS耗尽CDN流量,那么就会回源,这样就能得到真实IP

不设防的cdn量大就会挂,高防cdn要增大流量。

社会工程学

查看历史

DNS社工库

cloudflare

全网扫描
zmap号称44分扫描全网

链接:https://www.sysorem.xyz/2016/07/23/get-real-ip-under-cdn/
http://www.cnblogs.com/milantgh/p/5013254.html 这篇文章写得很详细,不错
http://www.freebuf.com/articles/web/41533.html 实例绕过

查找“CDN、负载均衡、反向代理”等大型网络真实IP地址的方法
首先,CDN、负载均衡、反向代理还分为很多层,有时查出来的是最外层的 CDN 服务器群,真实的机器是不对外开放的,类似这样的:
用户  →   CDN 网络   →  一台或多台真实机器     ↗  CDN Server 1  ↘用户  →  CDN Server 2  →  真实机器    ↘  CDN Server N  ↗-------------------------------------------------------- 用户  →   CDN 网络   →  一台或多台反向代理   →  一台或多台真实机器     ↗  CDN Server 1  ↘用户  →  CDN Server 2  →  Reverse Proxy Server  →  真实机器    ↘  CDN Server N  ↗
具体根据网络的负载需求,CDN 服务器的数量以及分级层数是不一定的。
如果是这样的话,除非日一台CDN服务器看记录或者日进CDN供应商控制系统或后台,才能找到真实IP,但是那些CDN服务器配置完全一样,应该很难搞。
(这些CDN服务器不止代理的这一家网站,现在都是同时代理很多家网站,这就可以解释你旁站查询出来很多不相干的网站都在同一个IP地址,这是CDN服务器供应商节省成本的一种方案,一台CDN同时代理多家网站,CDN供应商根据你支付金额的多少,决定使用多少台CDN服务器。)
(这些CDN服务器一般都在高防机房,拥有很大的带宽,并且大多数CDN运营商还拥有云防火墙技术,什么叫云防火墙?即:任意一台服务器检测到DDOS***后,会向所有服务器通告这些***源IP,然后所有这些服务器都同时屏蔽这些地址,以实现整个网络屏蔽DDOS的目的,这些服务器组成了一个很强力的抗DDOS网络,这是目前对付DDOS***,比较有效的方案之一。)
(再补充一点经验,这些CDN服务器还根据你提交的 HTTP HOST 头(也就是域名)返回不一样的系统信息,更有甚者,只要你 HTTP HOST 头不正确(不是它提供服务的域名),直接掐断连接,不返回任何数据,你就得不到任何有效信息,如果你使用“长安刺客 - 旁注杀手 v1.2 版 + CDN 终结者 v1.1”的话,那么需要在 CDN 终结者界面勾选特殊模式,然后再刺探网络构架,有时候会有惊喜哟……)
还有另外一种:
用户  →  多台实时同步的缓存服务器与真实机器    ↗  Cache Server 1用户  →  Cache Server 2    ↘  Cache Server N
    ↘  真实机器
如果是这种的话,很容易就可以找出来真实服务器的IP地址,因为他们 HTTP Banner 等信息是完全不一样的,用“长安刺客 - 旁注杀手”一眼就看出来了。
还有另外几种 CDN、负载均衡、反向代理 等网络构架:
用户  →   负载均衡   →  服务器群               ↗  Cache Server 1用户  →  Load Balance  →  Cache Server 2               ↘  Cache Server N--------------------------------------------------------------用户  →   反向代理类服务器   →  一台或多台真实机器                   ↗  真实机器1用户  →  Reverse Proxy Server  →  真实机器2                   ↘  真实机器N
再结合 xxbing 提供的方法:
关于探测主站真实IP,我一般先查一下分站IP,有一种情况是,主站采用了CDN,分站没有用。
比如 bbs.xxx.com、vip.xxx.com、pay.xxx.com 都是 111.111.111.x 段的,那么主站也很有可能是 111.111.111.x 段的。扫一下这个段的80吧。
这确实是个好方法,针对国内的大站,多分玉米的很实用。但是现在很多国外站各种分域名ping出来和主站都是一个IP。
可以暴力跑一下2级域名。什么 blog.xxx.com、admin.xxx.com、root.xxx.com。反正4位英文以内的。。
2012-4-20 14:21:05 补充:
从乌云一个帖子里又摘录了点……
地址:如何快速查找cdn后面的真实ip

kyo327 | 2012-04-19 23:37
二级域名 nslookup 百度,谷歌 搜集信息
还听说有国外*** ping的方式 不过我测试貌似不行
(站长点评:使用国外 *** ping 的方法是因为,大部分CDN提供商只针对国内市场,而对国外市场几乎是不做CDN,所以有很大的几率会直接解析到真实IP。其实这个方法根本不用上国外***,因为你上国外***的ping本质,就是使用国外dns(那台***服务器使用的dns)查询域名而已,所以只需要:nslookup lcx.cc 国外dns,就行了,例如:nslookup lcx.cc 8.8.8.8,提示:你要找冷门国外DNS才行,像谷歌的DNS,国内用的人越来越多了,很多CDN提供商都把谷歌DNS作为国内市场之一,所以,你查到的结果会和国内差不了多少……)

请叫我大神 | 2012-04-19 23:42
其实可以调查下目标的公司所在地,分析出公司最可能有自己机房的地方,这种分析对大公司比较靠谱。找个那个地区的机器再测试下
(站长评论:且不说这个可能性有多大,首先一些中小型公司肯定没有自己的机房,网站服务器天南地北的机房都有,有些还是国外的,大型公司也不一定有自己的机房,有的话,也可能在任何地方,你这种方法也许对百度、谷歌这种大公司可能有点作用,可是你别忘了,他们有多少机房?每个机房中有多少服务器?你简直是在大海捞针,你还不如挨个扫该地区80端口来得快,很明显,哥们,你太能意淫了!完全没实践过……)

请叫我大神 | 2012-04-19 23:44
@kyo327,你说的还是有些模糊,每个方向都可以细化,也会有一些技巧,这个可以分享下

xsser (白日放歌需纵酒) | 2012-04-20 00:13
1 历史记录 2 phpinfo 3 经常用ping xxx.com代替ping www.xxx.com
(站长评论:Good,好思路……)

蟋蟀哥哥 | 2012-04-20 00:36
@kyo327 @xsser 楼上的都说的都对,基本把我想到的办法都说了。哈哈.如果是我的话,肯定会先ping domain.com
然后ping子域,再nslookup.

GaRY | 2012-04-20 02:12
其实,一般mail.xxx.com之类的办公域名,都不会交给cdn。但是有可能交给gmail或者qmail。但是列举更多的类似办公域名,基本也能猜出八九不离十了
(站长评论:这个本文里有讲过,原理很简单,主站才做CDN,分站、内部域名等傻子才烧钱做CDN啊,所以都是真实IP,这个IP的C段中十有八九就存在主站的服务器,你只需要使用特定的扫描器(可以指定域名的),挨个扫描一下80端口就行了。)

only_guest (www.guoke.ca) | 2012-04-20 03:25
楼上说的差不多了.我再来补充一点.
可以社工统计的帐号.比如51啦..而且有时候是没密码的..
大站不行,但我经常搞一些小站的时候可以看到比如说使用IDC分配的二级域名访问的记录..
中率不高.实在没辙可以试试.
然后就是剑心说的phpinfo
这个中率很高.很多大站都喜欢放个phpinfo
看你路径字典强度.很容易跑出来的.

Eric | 2012-04-20 10:00
ping xxx.com一般都会是真实IP,因为了解到现有很多CDN厂商基本只要求把www.xxx.com cname到cdn主服务器上去。
(站长评论:这个说过很多次,www.lcx.cc 和 lcx.cc 的解析是两条独立的记录,很多公司都会只给 www.lcx.cc 做 CDN,很少管 lcx.cc,所以嘛……)

请叫我大神 | 2012-04-20 15:41
再说一个,小网站从无CDN到有CDN,会有一个IP变化的过程,netcraft.com会记录下来,也可以做参考:http://toolbar.netcraft.com/site_report?url=www.xxx.net
(站长评论:仍然是看解析记录)
2012-7-31 18:56:14 补充:
蟋蟀哥哥在绕过CDN的思路提到:
为了庆祝成都第一次线下沙龙举办成功,特地把这个想法发出来。给大家一个绕过cdn的思路。
下面是以前讨论这个的帖子:http://zone.wooyun.org/content/79
.....................帅气的分割线............................
其实这个思路来自于nc反弹,***方向连接从而绕过防火墙....
...我们直接访问有cdn的域名的时候,肯定要先经过cdn这一层...如果我们让服务器连接我们呢??不就能快速得到服务器真实IP了么??
怎么让服务器主动联系我们呢???
。。我首先想到的email,有的服务器本地自带sendmail... 注册之后,会主动发一封邮件给我们。。。 好吧。。打开邮件的源代码。。 你就能看到服务器的真实Ip了。。。有的大型互联网网站会有自己的Mailserver...应该也是处在一个网段吧?? 那个网段打开80的一个一个试。。。哈哈。。
如果对方使用的是公用的smtp邮件服务器。。就没办法鸟。。。本文提供的是一个思路。。。
除了mail。。。还有什么能让服务器主动连接我们呢??? 其实在HTML5中新增了一个push的功能。。也就是说服务器主动发送消息给浏览器。。。 由于没有找到使用这个的网站。。所以只是一个想法。。
希望大家提供更多的思路。。。 谢谢鸟。。。
具体内容见:绕过CDN查找真实IP的思路,一个新颖并另类的方法
站长评论:
这个其实很好理解,之前的方法都是正向查找,这个是反向查找,利用邮件功能、服务器抓取功能(采集新闻之类的功能),总之就是利用诱导服务器对外发送数据,并且可以捕获到源地址的功能,进行反向侦查。
这个思路确实很新颖,为什么以前从来没有人想到反向查找呢?不过嘛,这个方法有很大的局限性,应用范围有限……
相关内容:
如何看两个ip是不是在一个机房,路由追踪
IP反查网站接口 旁站查询 IP查域名 域名历史解析记录查询 IP地址查机房AS号
基于日志整理出的经常扫描的 IDC、ISP、IP段、AS号及web服务器内容
绕过CDN的思路,绕过CDN查找真实IP的思路,一个新颖并另类的方法
查找“CDN、负载均衡、反向代理”等大型网络真实IP地址的方法
原文地址:http://lcx.cc/?i=1959
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cdn