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

admin 2022年7月3日02:09:33信息收集之利用Python批量判断CDN已关闭评论76 views字数 971阅读3分14秒阅读模式

简介

在平时的安全测试中,信息收集是非常重要的一部分

信息收集之前少不了最重要的一步

就是判断网站是否使用了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")

代码实现的效果图

图片

本文作者:海龙6666, 转载请注明来自FreeBuf.COM

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年7月3日02:09:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   信息收集之利用Python批量判断CDNhttps://cn-sec.com/archives/1150714.html