freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

信息收集之利用Python批量判断CDN
2022-06-23 15:01:19
所属地 浙江省

简介

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

方法

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

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

nsllokup www.xxxx.com

1655949914_62b3ca5a782e98579040d.png!small?1655949915484

可以清楚的看到该域名返回了两个地址,可以判断该域名使用了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形式的内容

1655952955_62b3d63bee308222d3080.png!small?1655952957012

可以看到在有CDN的情况下ip条目为至少四条

再来看看没有CDN的情况

1655953048_62b3d698ecf40bf10fa56.png!small?1655953049949

在没有CDN的情况下ip条目为三条

再来看一下不存在ip地址的情况

1655953124_62b3d6e470cc8422de57e.png!small?1655953125406

不存在时,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")

代码实现的效果图

1655967452_62b40edca2a64e0a44f0c.png!small?1655967453710

# 渗透测试
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录