绕过CDN查找真实 IP 姿势总结
返回域名解析对应多个 IP 地址,网站可能部署CDN业务,我们就需要bypass CDN,去查找真正的服务器ip地址
0x01.域名搜集
由于成本问题,可能某些厂商并不会将所有的子域名都部署 CDN,所以如果我们能尽量的搜集子域名,或许可以找到一些没有部署 CDN 的子域名,拿到某些服务器的真实 ip/ 段。然后关于子域名搜集的方式很多,就不一一介绍了,我平时主要是从这几个方面搜集子域名:
1、SSL 证书
2、爆破
3、Google Hacking
4、同邮箱注册人
5、DNS 域传送
6、页面 JS 搜集
7、网络空间引擎
工具也有很多厉害的,平时我一般使用 OneForALL + ESD + JSfinder 来进行搜集。
0x02.查询 DNS 历史解析记录
常常服务器在解析到 CDN 服务前,会解析真实 ip,如果历史未删除,就可能找到
常用网站:
http://viewdns.info/
https://x.threatbook.cn/
http://www.17ce.com/
https://dnsdb.io/zh-cn/
https://securitytrails.com/
http://www.ip138.com/
https://github.com/vincentcox/bypass-firewalls-by-DNS-history
0x03.MX 记录(邮件探测)
如果目标系统有发件功能,如注册账号/找回密码/RSS订阅
0x04.SSL 证书探测
我们可以利用空间引擎进行 SSL 证书探测
443.https.tls.certificate.parsed.extensions.subject_alt_name.dns_names:www.xxx.com
或443.https.tls.chain.parsed.names
https://censys.io/
https://www.shodan.io/
https://fofa.so/
https://www.zoomeye.org/
再放一个搜集证书的网站:
https://crt.sh
一个小脚本,可以快速搜集证书
# -*- coding: utf-8 -*-
# @Time : 2019-10-08 22:51
# @Author : Patrilic
# @FileName: SSL_subdomain.py
# @Software: PyCharm
import requests
import re
TIME_OUT = 60
def get_SSL(domain):
domains = []
url = 'https://crt.sh/?q=%25.{}'.format(domain)
response = requests.get(url,timeout=TIME_OUT)
# print(response.text)
ssl = re.findall("<TD>(.*?).{}</TD>".format(domain),response.text)
for i in ssl:
i += '.' + domain
domains.append(i)
print(domains)
if __name__ == '__main__':
get_SSL("baidu.com")
还有一种方式,就是搜集 SSL 证书 Hash,然后遍历 ip 去查询证书 hash,如果匹配到相同的,证明这个 ip 就是那个 域名同根证书的服务器真实 ip
简单来说,就是遍历 0.0.0.0/0:443,通过 ip 连接 https 时,会显示证书。
0x05.偏远地区服务器访问
在偏远地区的服务器访问时,可能不会访问到 CDN 节点,而是直接访问服务器真实 ip
所以我们可以搞一个偏远地区的代理池,来访问目标域名,有概率就可以拿到真实 ip
也就是平常说的多地 Ping
0x06.favicon_hash 匹配
利用 shodan 的 http.favicon.hash 语法,来匹配 icon 的 hash 值, 直接推:
https://github.com/Ridter/get_ip_by_ico/blob/master/get_ip_by_ico.py
0x07.CloudFlare Bypass
免费版的 cf,我们可以通过 DDOS 来消耗对方的流量,只需要把流量打光,就会回滚到原始 ip
还有利用 cloudflare 的改 host 返回示例:
https://blog.detectify.com/2019/07/31/bypassing-cloudflare-waf-with-the-origin-server-ip-address/
里面给了详细的介绍,我们可以通过 HOST 来判断是否是真实 ip, 具体看文章即可
0x08.奇特的ping
比如可能有些地方,使用的 CDN 都是以 www.xxx.edu.cn,例如 www.cuit.edu.cn,www.jwc.cuit.edu.cn
可能去掉前缀的 www,就可能绕过 CDN 了,猜测应该是类似于 Apache VirtualHost, 可参考
https://httpd.apache.org/docs/2.4/en/vhosts/examples.html
0x09.利用老域名
在换新域名时,常常将 CDN 部署到新的域名上,而老域名由于没过期,可能未使用 CDN,然后就可以直接获取服务器真实 ip。
例如 patrilic.top > patrilic.com
域名更新时,可能老域名同时解析到真实服务器,但是没有部署 CDN
这个可以通过搜集域名备案的邮箱去反查,可能会有意外收获
0x10.其他方法
上传phpinfo、ssrf等漏洞
参考链接
https://github.com/shmilylty/OneForAll
https://github.com/FeeiCN/ESD
https://github.com/Threezh1/JSFinder
https://github.com/AI0TSec/blog/issues/8
https://www.4hou.com/tools/8251.html
https://www.freebuf.com/sectool/112583.html
绕过CDN查找真实 IP 姿势总结的更多相关文章
- [转载]绕过CDN查找真实IP方法总结
前言 类似备忘录形式记录一下,这里结合了几篇绕过CDN寻找真实IP的文章,总结一下绕过CDN查找真实的IP的方法 介绍 CDN的全称是Content Delivery Network,即内容分发网络. ...
- 11种绕过CDN查找真实IP方法
0x01 验证是否存在CDN 方法1: 很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有: http://ping.chin ...
- [信息收集]11种绕过CDN查找真实IP方法【转载】
今天在看一些有关CDN的文章的时候,发现一篇写的蛮好的文章,故转载过来. 原文链接:https://www.cnblogs.com/qiudabai/p/9763739.html 0x01 验证是否存 ...
- 绕过CDN查找真实IP方法总结
CDN的全称是Content Delivery Network,即内容分发网络.CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分发.调度等功能模 ...
- 绕过CDN查找真实IP方法
0x01 验证是否存在CDN 方法1: 很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有:http://ping.china ...
- 绕过CDN查找真实IP的方法
正常情况下,通过cmd命令可以快速找到域名对应IP,最常见的命令如ping.nslookup.但很多站点出于用户体验和安全的角度,使用CDN加速,将域名解析到CDN,这时候就需要绕过CDN来查找真实I ...
- 绕过CDN找到真实IP
现在很多大型企业都会使用CDN内容分发网络,因为CDN存在多个缓存服务点,而且会根据用户IP地址,将用户请求导向到最近的服务点上进行相应,所以得不到主服务站点的ip地址,总结学习一下绕过CDN找到真实 ...
- 绕过CDN查找网站真实ip
在渗透测试过程中,经常会碰到网站有CDN的情况.CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题.说的简单点,就是一组在不同运营商之间的对接点上的高速缓存服务器,把 ...
- 绕过CDN查找网站真实IP方法收集
方法1很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有: http://ping.chinaz.com/ http://pi ...
随机推荐
- DRF之APIView源码简析
一. 安装djangorestframework 安装的方式有以下三种,注意,模块就叫djangorestframework. 方式一:pip3 install djangorestframework ...
- 太赞了!阿里几位工程师重写了 《Java 并发编程》
事情是这样的,前些日子和得知一个读者在准备阿里的面试,我蛮有兴趣的跟他聊了起来,随着话题越来越深入,我发现这位读者有意思,他和几位阿里的工程师之前编写了一本 concurrent.redspider. ...
- CF1326A Bad Ugly Numbers 题解
原题链接 简要题意: 构造一个长为 \(n\) 的数,使得每位均不为 \(0\),且 \(n\) 不被它的各位数字整除. 比方说, \(n = 239\) 是合法的.因为: \(2 \not | 23 ...
- 写爬虫爬了3w条职位数据,看看当前招聘形势 | 开源
最近有不少程序员又开始找工作了,为了了解目前技术类各职位的数量.薪资.招聘公司.岗位职责及要求,我爬取了拉勾网北上广深4个城市的招聘数据,共3w条.职位包括:人工智能(AI).大数据.数据分析.后端( ...
- 一起学习vue源码 - Vue2.x的生命周期(初始化阶段)
作者:小土豆biubiubiu 博客园:https://www.cnblogs.com/HouJiao/ 掘金:https://juejin.im/user/58c61b4361ff4b005d9e8 ...
- 深入浅出C#结构体
目录 1.应用背景 2.结构体解析 2.1.结构体存在栈中 2.2.结构体不需要手动释放 3.封装心跳包结构体 4.结构体静态帮助类 5.New出来的结构体是存在堆中还是栈中? 5.1.不带形参的结构 ...
- 拒绝了对对象 '***' (数据库 'BestSoftDB_P',架构 'sale')的 EXECUTE 权限。
问题描述: 给普通用户授予读写权限,之后研发反映查询语句报错: nested exception is com.microsoft.sqlserver.jdbc.SQLServerException: ...
- 使用PyTorch进行情侣幸福度测试指南
欢迎关注磐创博客资源汇总站: http://docs.panchuang.net/ 欢迎关注PyTorch官方中文教程站: http://pytorch.panchuang.net/ 计算机视觉–图像 ...
- 3分钟了解GPT Bert与XLNet的差异
译者 | Arno 来源 | Medium XLNet是一种新的预训练模型,在20项任务中表现优于BERT,且有大幅度的提升. 这是什么原因呢? 在不了解机器学习的情况下,不难估计我们捕获的上下文越多 ...
- ||,&&短路规则测试
短路规则:a||b中若a为真,则直接判断整个表达式为真,不再判断b是真或假, a&&b中若a为假,则直接判断整个表达式为假,不再单独判断b是真或假. 想要测试这个规则的话,可以将 ...