信息收集(二)
目录
DNS服务器的类型
DNS解析流程
ping / nslookup
PING
P
acket
In
ternet
G
roper
因特网包探索器
一般用来检测网络是否通畅。
ping www.baidu.com
如上图所示即为通畅。
nslookup
nslookup baidu.com
如上图查询出了百度的IP地址为180.101.49.14。
IP归属查询
http://ipwhois.cnnic.net.cn/
我们输入网址,输入180.101.49.14查询这个IP属于谁。
![](https://img-blog.csdnimg.cn/9a2cd991614249959891a5a0128901be.png)
![](https://img-blog.csdnimg.cn/c6adb73da45243feb1ee61efdc4049dc.png)
如上图查询出了180.101.49.14的IP归属。
如何获取CDN背后的真实IP
什么是CDN
在渗透测试过程中,经常会碰到网站有CDN的情况。CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题。说的简单点,就是一组在不同运营商之间的对接点上的高速缓存服务器,把用户经常访问的静态数据资源直接缓存到节点服务器上,当用户再次请求时,会直接分发到离用户近的节点服务器上响应给用户,当用户有实际数据交互时才会从远程Web服务器上响应,这样可以大大提高网站的响应速度及用户体验。
CDN的优势
- 提高用户访问速率,优化用户使用体验。
- 隐藏真实服务器的IP
- 提供WAF功能,目前很多CDN也提供了WAF的功能,我们的访问请求会先经过CDN节点的过滤,该过滤可对SQL注入、XSS、Webshell上传、命令注入、恶意扫描等攻击行为进行有效检测和拦截。CDN节点将认为无害的数据提交给真实的主机服务器。
几种访问方式的不同
- 传统访问:用户访问域名-->解析服务器IP-->访问目标主机
- 普通CDN:用户访问域名-->CDN节点-->真实服务器IP-->访问目标主机
- 带WAF的CDN:用户访问域名-->CDN节点(云WAF)-->真实服务器IP-->访问目标主机
CDN的配置
1. 将域名的 NS 记录指向 CDN 厂商提供的 DNS 服务器。
2. 给域名设置一个 CNAME 记录,将它指向CDN厂商提供的另一个域名。
常见的CDN服务商
国外:CloudFlare/CloudFront……国内:帝联/蓝讯/网宿/七牛云/腾讯/百度/阿里云……
没有CDN:
使用CDN服务:
所以在渗透测试中,为了要知道网站服务器的真实IP,我们必须绕过CDN查找出网站的真实ip地址。
实现流程(以阿里云为例)
1. 当终端用户(北京)向www.a.com下的指定资源发起请求时,首先向LDNS(本地DNS)发起域名解析请求。2. LDNS检查缓存中是否有www.a.com的IP地址记录。如果有,则直接返回给终端用户;如果没有,则向授权DNS查询。3. 当授权DNS解析www.a.com时,返回域名CNAMEwww.a.tbcdn.com对应IP地址。4. 域名解析请求发送至阿里云DNS调度系统,并为请求分配最佳节点IP地址。5. LDNS获取DNS返回的解析IP地址。6. 用户获取解析IP地址。7. 用户向获取的IP地址发起对该资源的访问请求。
获取CDN背后的真实IP
1、超级ping2、历史DNS3、通过子域名查询IP4、国外主机解析5、其他
超级ping
网址:https://ping.chinaz.com
如下图所示:
我们ping了百度
如图显示出了很多节点,由此可以判别出baidu.com使用了CDN。
查询子域名
毕竟 CDN 还是不便宜的,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子域名对应的 IP 来辅助查找网站的真实IP。
国外访问
国内的CDN往往只对国内用户的访问加速,而国外的CDN就不一定了。因此,通过国外在线代理网站访问 ,可能会得到真实的ip地址。
相关网址:
https://asm.ca.com/zh_cn/ping.phphttp://host-tracker.com/http://www.webpagetest.org/https://dnscheck.pingdom.com/