【全网扫描】获取CDN背后网站的真实IP
0x00 前言
事先声明: 方法可能存在漏报(嗯, 在人品差的情况下)
唔, 我们使用 www.wooyun.org 作为案例。
首先从 www.wooyun.org 服务多次挂的页面可以看出, wooyun 使用了 baidu 的 cdn 服务, 从 wooyun 的漏洞案例上也可以知道 wooyun 使用了 ucloud 的服务, 我们可以大胆假设 wooyun 服务器的 ip 在中国内.
0x01 获取 CN IP
从apnic获取亚洲区域所分配到的IP, 过滤出 CN 的 IP.
wget ftp://ftp.apnic.net/public/apnic/stats/apnic/delegated-apnic-latest
0x02 端口扫描
使用 zmap 对全 CN 的 IP 的 80 端口进行扫描.
#CN.txt为筛选出的国内IP
#80.txt为筛选开放80端口的ip
大概需要 20 min
0x03 获取 banner
使用 zmap 的 banner-grab 对扫描出来80 端口开放的主机进行 banner 抓取
嗯, 在 http-req 中的 Host 写 www.wooyun.org, 并且使用 ulimit 将最大文件描述符数修改为一个较大的值, 直接开扫:
唔, 在这里, 考虑到 www.wooyun.org 打开挺慢的, 所以将连接超时和读超时都设置为 30s, 这段时间可以出去看电影.
0x03 数据处理
使用关键字 "80sec" 对获取的数据进行简单过滤
这 400+ 的服务器, 一般可以分为三种: * baidu cdn server * http proxy server * www.wooyun.com server
可以对这 400+ 服务器再进行一次 banner 获取, 不设置 Host, 过滤掉 baidu cdn 错误页面, 空页面, 超时等乱七八糟的页面, 然后就可以得到结果了, 我去问了一下相关负责人 www.wooyun.org 的真实 IP, 果不其然 : )
总耗时大概 两个多小时。
0x05 猜想
一些公司的测试服务器是放在外网的, 一般只有绑定了 Host 才能进行访问, 所以...
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法