作者:海龙6666
原文地址:https://www.freebuf.com/articles/web/337047.html
在平时的安全测试中,信息收集是非常重要的一部分,信息收集之前少不了最重要的一步,就是判断网站是否使用了CDN。在测试过程中,如果目标使用了CDN 服务,将会影响到后续的安全测试过程。
方法
判断CDN的方法有很多种,在这里主要来讲解用nslookup判断并实现批量判断的目的。
使用nslookup,如果目标有CDN服务的话,那么将会返回多个IP地址(>=2个)。
nsllokup www.xxxx.com
可以清楚的看到该域名返回了两个地址,可以判断该域名使用了CDN服务。
我们的目的就是用python来判断返回ip的条目,在该图中,如果ip条目>=3条,那么就存在CDN
代码实现
主要用到的库为os,re,主要方法为正则表达式。
这里我们首先看一下如何提取出来nslookup里面的ip地址
\d\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
这个表达式的意思是提取出以x.x.x.x形式的内容
可以看到在有CDN的情况下ip条目为至少四条
再来看看没有CDN的情况
在没有CDN的情况下ip条目为三条
再来看一下不存在ip地址的情况
不存在时,ip条目为两条,综上所述,基本的代码原理也就出来了。
简易代码如下:(liunx上运行)
import os
import re
domain=open("./url.txt")
#判断CDN
for domains in domain:
domains = domains.strip("\n")
result=os.popen("nslookup " + domains).read()
results=re.findall(r'\d\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',result,re.S)
if len(results)==2:
print(domains + " 没有ip地址")
if len(results)==3:
print(domains + " 不存在CDN")
print(results[-1])
if len(results)>3:
print(domains + " 存在CDN")
代码实现的效果图
声明:⽂中所涉及的技术、思路和⼯具仅供以安全为⽬的的学习交流使⽤,任何⼈不得将其⽤于⾮法⽤途以及盈利等⽬的,否则后果⾃⾏承担。所有渗透都需获取授权!
>精彩回顾<
Cobalt Strike免杀脚本生成器|cna脚本|bypassAV
xss bypass备忘单|xss绕过防火墙技巧|xss绕过WAF的方法
【贼详细 | 附PoC工具】Apache HTTPd最新RCE漏洞复现
【神兵利器 | 附下载】一个用于隐藏C2的、开箱即用的Tools
关注我
获得更多精彩
坚持学习与分享!走过路过点个"在看",不会错过
仅用于学习交流,不得用于非法用途
如侵权请私聊公众号删文
觉得文章不错给点个‘再看’吧
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论