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