什么是CDN?
CDN:内容分发网络。是构建在现有的网络基础之上的智能虚拟网络,依靠部署咋各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。进行渗透或者安全测试时遇到CDN时会影响后续的过程。客户端就近原则跟最近的服务器节点进行交互
简单来说CDN就是为了提高访问网站的速度,还有异地备援(网站崩溃后能够迅速切换临近的节点进行服务)、保证网站安全。
如何判断目标存在CDN服务?
利用多节点技术进行请求返回判断:超级ping
CDN对安全测试有哪些影响?
无论是服务器渗透还是DDOS攻击,攻击的目标都将是CDN节点,间接的保护了网站本身(像小丑的大招),如果需要找到真实的IP地址就需要绕过CDN。
目前常见的CDN绕过技术有哪些?
子域名查询:可能各级域名在同一IP或者网段https://chaziyu.com/
邮件服务查询:内部邮箱系统一般不会使用CDN
国外地址请求:为了节约成本一般都在国内部署CDN,国外访问可能就会直接得到真实IP地址
遗留文件,扫描全网:hack语法搜
黑暗引擎搜索特定文件:佛法,zoomeyes,shodan
DNS历史记录,以量打量
CDN真实IP地址获取后绑定指向地址
更改本地HOSTS解析指向文件
例子
1.利用子域名请求获取真实IP
2.利用国外地址请求获取真实IP
3.利用第三方接口查询获取真实IP
4.利用邮件服务器接口获取真实IP
5.利用黑暗引擎搜索特定文件获取IP地址(搜指定hash文件)
#python2环境 #获取文件的哈希值 import mmh3 import requests response = requests.get('http://www.xx.com/favicon.ico') response = reponse.content.encode('base64') hash = mmh3.hash(favicon) print 'http.favicon.hash:'+str(hash)
原理:python脚本通过请求网站获取.ico文件获取到文件的哈希值
然后shodan搜索文件的hash值,用网站的文件hash值相对应。
6.扫全网工具
***cdn,w8***cdn,zmap等
相关链接
https://www.shodan.io
https://x.threatbook.cn
http://ping.chinaz.com
https://www.get-site-ip.com/
https://asm.ca.com/en/ping.php
https://github.com/boy-hack/w8***cdn
https://github.com/Tai7sy/***cdn