FCDN批量检测脚本

电子说

1.3w人已加入

描述

项目地址
https://github.com/ccc-f/FCDN
使用

安装依赖:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

单个url测试:

python cdnCheck.py -u huya.com

批量域名检测:

python main.py -f domain.txt

返回的结果在 result 目录下,共有三个:

nocdnResult.txt cdnResult.txt errorResult.txt

功能

先说优点:快速精准全面

功能是从一大堆域名中查找使用了真实IP的域名,方便使用者精准定位服务器所在网段

比如使用了云waf、cdn、dmzweb 等技术的网站是无法解析真实IP的,而现在大量的网站使用了云waf,这时候我们的技术手段不应停留在单纯的检测cdn上,这是不准确不充分不完整的,所以有了这个工具。

如果能快速准确的识别出使用了真实IP的站点,我们就可以精准的去扫该IP段,从而发现更多的资产,避免误伤和浪费时间。

检测原理

放弃了传统的检测白名单CDN网段/ASN的方式,因为这种方式需要去维护和更新 cdn 网段,不太可靠。也不使用第三方的站点来判断。转而是使用 Python 的 dnspython 库去判断是否存在 CDN,该库的功能相当于使用 nslookup 命令去解析目标站点。

有三种情况下,可以知道目标域名是否使用了真实IP和域名有效性。

  1. 返回结果多于两个ip [<104.21.23.10>, <172.67.208.68>] 这种情况,目标站点一定是使用了cdn服务

  2. 返回结果里面 nameserver 的主域名不是检测的host的主域名 比如:www.abc.com 的 CNAME 是 www-abc-com.site.nscloudwaf.com 出现这种情况是因为目标站点使用了云 waf,这种站点也是获取不到真实IP的。

  3. 使用了dmzweb技术防护的站点,统一把网站的流量导向该站点 dmzweb.xxx.edu.cn,无法获取真实IP,对比扫描的domain长度和解析的cname长度。

你可能会遇到使用了负载均衡技术的站点,这时候使用第三方站点测试,会检测到多个解析的IP,但那些 IP 都是目标的用来做负载均衡的 IP 资产,也是属于目标资产,该工具不会将其归类到cdn上,如 F5 Big-IP

测试

在线cdn检测网站 https://myssl.com/cdn_check.html

测试了以下几个站点,返回的结果都不同,精准确认


					
						 giihg.com 

huya.com

www.cip.cc

xxx.edu.cn

www.csu.edu.cn
 

 

云waf

cdn

					

真实IP

使用了dmz服务器,解析到dmz.xxx.edu.cn

使用了 F5 Big-IP 负载均衡

部分测试结果

服务器

脚本测试结果:

服务器

服务器

脚本测试的结果是否准确:

type . esulterrorResult.txt | nslookup

审核编辑 :李倩

 


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分