前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >信息收集之利用Python批量判断CDN

信息收集之利用Python批量判断CDN

作者头像
FB客服
发布2023-03-30 19:48:38
6700
发布2023-03-30 19:48:38
举报
文章被收录于专栏:FreeBufFreeBuf

 简介 

在平时的安全测试中,信息收集是非常重要的一部分,信息收集之前少不了最重要的一步,就是判断网站是否使用了CDN。在测试过程中,如果目标使用了CDN 服务,将会影响到后续的安全测试过程。

 方法 

判断CDN的方法有很多种,在这里主要来讲解用nslookup判断并实现批量判断的目的

使用nslookup,如果目标有CDN服务的话,那么将会返回多个IP地址(>=2个)。

nsllokup www.xxxx.com

可以清楚的看到该域名返回了两个地址,可以判断该域名使用了CDN服务。

我们的目的就是用python来判断返回ip的条目,在该图中,如果ip条目>=3条,那么就存在CDN

 代码实现 

主要用到的库为os,re,主要方法为正则表达式。

这里我们首先看一下如何提取出来nslookup里面的ip地址

代码语言:javascript
复制
\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上运行)

代码语言:javascript
复制
import osimport redomain=open("./url.txt")#判断CDNfor 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")

代码实现的效果图

精彩推荐

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •  简介 
  •  方法 
  •  代码实现 
    • 简易代码如下:(liunx上运行)
    相关产品与服务
    腾讯云服务器利旧
    云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档