如何绕过CDN找源站ip
这是一个总结帖,查了一下关于这个问题的国内外大大小小的网站,对其中说的一些方法总结归纳形成,里面具体发现ip的方法不是原创,所有参考的原贴都也贴在了后面,大家可以自行看看原贴。
首先,先要明确一个概念,如果人CDN做得好,或者整个站都用CDN加速了,你是几乎找不到他的源站IP的,因为对于你来说被CDN给屏蔽了,是个黑盒子[1]。
下面,我们从一些特别的角度去绕过CDN找源站IP。从前往后,是提的人比较多而且个人觉得也比较靠谱的方法,如有错处,请大家不吝赐教。
1.采用多地ping:[3][7]
不同地区的服务器->访问->ip:假如使用了cdn->ip会众多,假如使用了双线-> ip一般只有几个,这是区分cdn跟多线服务器的很好的方法。
网上的一些在线工具:
- 奇云测http//ce.cloud.360.cn/;
- 站长工具Ping http://ping.chinaz.com/;
批注:个人觉得,如果是小网站,这种方法还是比较可行的,至少可以判断出其是否采用了CDN加速,但是如果是大型网站,其本身可用的IP数就众多,一般是判断不出来的。
2.ping xxx.com而不是ping www.xxx.com:[4][5][10][11][12][13]
因为了解到现有很多CDN厂商基本只要求把www.xxx.com cname到cdn主服务器上去,而且有人为了维护网站时更方便,不用等cdn缓存,只让WWW域名使用cdn,秃域名不使用。所以试着把目标网站的www去掉,ping一下看ip是不是变了?
批注:可以试试。
3.ping二级域名,甚至三级域名扫描爆破:[2][4][5][6][10][11][12][13]
因为很多情况是主站使用了CDN而分站没有使用,而且一般不会把所有的二级域名放在CDN上,所以,使用google site或者自建一个常用二级域名字典,猜到其二级域名,再ping二级域名,获取其ip,最后将目标域名绑定到同ip,能访问就说明目标站与此二级域名在同一个服务器上,就算不在同一服务器也可能在同C段,扫描C段所有开80端口的ip,挨个试。
批注:个人觉得这个还是比较靠谱的,看了下阿里云、腾讯云的CDN服务,对加速的域名个数是有所限制的, 阿里云是20个,所以如果网站内容稍微多一点,很有可能二级、三级域名是没有采用CDN加速的,很有可能扫描C段就可以得到主站IP。
4.找国外冷门DNS:[4][5][11][12]
大部分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。
批注:可以试试。
5.查看域名历史解析记录:[4][5][11][12]
因为域名在上CDN之前用的IP,很有可能就是CDN的真实源IP地址。有个专门的网站提供域名解析历史记录查询:http://toolbar.netcraft.com/site_report?url=www.xxx.com;http://toolbar.netcraft.com/
批注:感觉不太靠谱,可以试试。
6.让服务器主动连接我们(包括RSS邮件订阅):[4][5][6][7][8][10][11][12][13]
我们直接访问有cdn的域名的时候,肯定要先经过cdn,如果我们让服务器连接我们呢??不就能快速得到服务器真实IP了么?
不管网站怎么CDN,其向用户发的邮件一般都是从自己服务器发出来的。有的服务器本地自带sendmail,注册之后,会主动发一封邮件给我们,打开邮件的源代码,你就能看到邮件服务器的真实Ip了,很大可能与主站处在一个网段,那个网段打开80端口的一个一个试。
批注:个人比较倾向这种方法,感觉比较靠谱,服务器主动连接我们,可以获取到mail服务器的ip,如果恰好这个ip和源站ip比较近或者就是源站ip,就直接成功了。
7.拿CDN服务器 找出真实IP:[6][7][9]
cache_peer 1.1.1.1 parent 80 0 no-query originserver
cache_peer_domain 1.1.1.1 www.baidu.com
8.判断HTTP_X_FORWARDED_FOR是否为空,不为空把这个作为IP地址,否则取得REMOTE_ADDR作为IP地址。如果服务器可以上传文件,可上传文件加如下代码:[6][7][9]
Request.ServerVariables(“LOCAL_ADDR”)’得到服务器的IP地址
Request.ServerVariables(“REMOTE_ADDR”)’得到客户端的IP地址/这个有可能是代理
request.ServerVariables(“HTTP_X_FORWARDED_FOR”)’得到请求客户端真实IP地址
9.以量打量:[7][10][13]
针对免费版的CDN,流量耗尽时就泄露真实IP。这个方法是很笨,但是在特定的目标下渗透,建议采用。cdn除了能隐藏ip,可能还考虑到分配流量。不设防的cdn 量大就会挂。高防cdn 要大流量访问。经受不住大流量冲击的时候 可能会显示真实ip。
10.查询域名的NS记录,其域名记录中的MX记录,TXT记录等很有可能指向的是真实ip或同C段服务器。[10][11][13]
11.特殊CDN记录 比如cloudflare默认会配direct.domain.com指向真实IP。[10][13]
12.如果得到的二级、三级域名都做了CDN,那么可以尝试找找有没有探针文件,有探针文件,看server info就ok[10][13]
13.其他的一些社工之类的办法:[7][10][13]
- 敏感信息搜索:搜集页面敏感信息,比如邮箱、电话、公司地址等等,再去搜,有可能会搜到跟目标一模一样的网站,ping之。
- 找到CDN平台,收集目标(你的目标站)的信息,社工之
- 找出网站涉漏文件:这个需要用工具扫或者爬,但是找到的成功率不是很高。
- 收集信息:这个方法 我经常用,成功率较大。考虑到站长建站不可能用一个域名,假如是做非法产业,黑色产业。一般都需要购买一定的量的域名,域名被拦截的时候,方便指向,继续安全访问。方法是whois->联系信息->社工->反查域名 或 子级域名
表示后面几种方法有点凑巧,运气好找得到,可以试试。
国内网址ip会有cdn服务加速节点混淆源ip。也可能有盾机服务,让虚假ip映射到真实ip上,让你在信息收集阶段得到虚假ip,毫无疑问对渗透造成了很大的影响,列举以下方法找到真
实ip:
1.大部分cdn服务混淆ip只针对国内上网情况,所以使用国外dns服务器解析网站即可获得真实ip:
(附国外dns服务列表:https://www.douban.com/group/topic/7089298/)
nslookup xx.com 208.67.222.222
2.通过让目标站点smtp服务发邮件给自己邮箱查看目标ip
3.子域名可能没使用CDN,通过爆破子域名获取真实ip地址
————————————————
原文链接:
https://www.cnblogs.com/Jochebed/p/5801546.html
https://blog.csdn.net/kali3426/article/details/80087203