绕过CDN查找真实IP方法总结
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
百度百科
0x01:域名解析过程
传统访问:用户访问域名-->解析IP-->访问目标主机
简单模式:用户访问域名-->CDN节点-->真实IP-->目标主机
360网站卫士:用户访问域名-->CDN节点(云WAF)-->真实IP-->目标主机
注:目前场面上大多数CDN服务商都提供了云WAF的配置选项,内置了多种安全防护策略,可对SQL注入、XSS跨站、Webshell上传、后门隔离保护、命令注入、恶意扫描等攻击行为进行有效拦截。
0x02:CDN配置方法
1、将域名的NS记录指向CDN厂商提供的DNS服务器。
2、给域名设置一个cname记录,将它指向CDN厂商提供的另一个域名。
0x03:CDN检测方法
利用“全球Ping”快速检测目标网址是否存在CDN,如果得到的IP归属地是某CDN服务商,或者每个地区得到的IP地址都不一样则说明可能存在CDN,可用以下几个网站检测!
https://wepcc.com
http://ping.chinaz.com
https://asm.ca.com/en/ping.php
注:全球Ping有一定机率可以得到目标服务器真实IP地址,因为CDN服务商没有某些地区CDN节点。
0x04:查找真实IP方法
(1) phpinfo等探针找到真实IP
通过l.php、phpinfo.php等探针类文件即可得到真实IP地址,phpinfo.php搜索SERVER_NAME。
(2) 网站根域或子域找到真实IP
大部分CDN服务都是按流量进行收费的,所以一些网站管理员只给重要业务部署CDN,也有很多人忘了给“根域”部署CDN,所以我们可以尽可能的多搜集一些子域名来尝试得到真实IP地址。
注:有时多个子域名可能不会解析到同一台服务器,而是根据公司业务的重要与非重要性将子域名解析在内网或外网的不同服务器中,需要一定的分析能力。
(3) 利用邮件服务器找到真实IP
Web跟Email服务属同服务器的情况下可以通过Email来查询目标真实IP地址,但如果Web跟Email属不同服务器,那么我们通过Email得到的可能只是邮件服务器的IP地址,所以在hosts文件中即使绑定IP后无法访问目标网站也属正常现象。常见发送邮件的功能有:注册用户、找回密码等等。
(4) 域名历史解析记录找到真实IP
查询目标域名历史解析记录可能会找到部署CDN前的解析记录(真实IP地址),可用以下几个网站查询。
https://domain.8aq.net //基于Rapid7 Open Data
https://x.threatbook.cn
https://webiplookup.com
https://viewdns.info/iphistory
https://securitytrails.com/#search
https://toolbar.netcraft.com/site_report
(5) FOFA查询网站标题找到真实IP
利用“FOFA网络空间安全搜索引擎”搜索网站源代码中的title标签内容即可得到真实IP地址。
title="*** ***** – Multi Asset Fund"
(6) Censys查询SSL证书找到真实IP
利用“Censys网络空间搜索引擎”搜索网站的SSL证书及HASH,在https://crt.sh上查找目标网站SSL证书的HASH,然后再用Censys搜索该HASH即可得到真实IP地址。
443.https.tls.certificate.parsed.extensions.subject_alt_name.dns_names:***trade.com
(7) 自建CDN节点服务器找到真实IP
这篇笔记当时没有记录下来,其实就是MS17-010刚出来时很多机器都还没打补丁,批量过程中打了一台别人自建的CDN节点服务器,然后在里边发现很多解析到这边的IP地址,其实这些IP地址就是某些网站的真实IP,所以说这种方法也算是一种思路吧,但是得先拿到这台CDN节点服务器的权限。
注:一些免费或自建CDN流量都不会很多,可以用DDOS攻击将其流量耗尽后即可显示出真实IP地址。
(8) 分析目标C段来简单判断真实IP
这种方法得看目标有多少子域名吧,如果子域够多,且又有多台服务器(同段),找一个没有部署CDN的子域名,然后扫描整个C段查找与目标站Title一致的即可得到它的真实IP地址!
网站域名 |
真实IP地址 |
CDN节点IP地址 |
111.test.com(目标) |
192.168.1.10 |
8.8.8.8 |
222.test.com |
192.168.1.11 |
9.9.9.9 |
333.test.com |
192.168.1.12 |
没有CDN |
假如目标站111.test.com解析在192.168.1.10,title:90sec社区,通过查询333.test.com这个子域名得到333的真实IP地址192.168.1.12,然后扫描192.168.1.x 整个C段,扫到192.168.1.10这个IP后发现一个title为“90sec社区”的网站,域名也是111.test.com后就能确定192.168.1.10是它的真实IP地址了,虽然这种方法没有实践过,但肯定是有这种情况的,在遇到时可以尝试一下?
(9) 利用目标网站的漏洞找到真实IP
Web漏洞:
XSS、SSRF、命令执行、文件上传等,需要先绕过云WAF的安全防护。 敏感信息泄露:
phpinfo、Apache status和Jboss status敏感信息泄露,网页源代码泄露,SVN、Github信息泄露等。
(10) 通过社工CDN控制台找到真实IP
(11) Zmap全网扫描及F5 LTM解码法
这两种方法都是前辈们写的,个人感觉较为复杂,并没有实践测试过,不知道是否真可行?
注:部署了CDN的网站有必要设置严格访问控制策略,仅允许CDN节点访问网站真实服务器(80端口),这样设置的好处就是即使别人在hosts文件中绑定了真实IP以后仍然无法访问。笔者曾经在一次渗透测试过程中也遇到过类似情况,就是成功绑定了真实IP后,虽然能够正常访问到目标网站,但是仍然没有绕过云WAF,具体情况有点记不太清了,当时没有去细研究这个问题!
绕过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方法
0x01 验证是否存在CDN 方法1: 很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有:http://ping.china ...
- 绕过CDN查找真实IP的方法
正常情况下,通过cmd命令可以快速找到域名对应IP,最常见的命令如ping.nslookup.但很多站点出于用户体验和安全的角度,使用CDN加速,将域名解析到CDN,这时候就需要绕过CDN来查找真实I ...
- 绕过CDN查找真实 IP 姿势总结
返回域名解析对应多个 IP 地址,网站可能部署CDN业务,我们就需要bypass CDN,去查找真正的服务器ip地址 0x01.域名搜集 由于成本问题,可能某些厂商并不会将所有的子域名都部署 CDN, ...
- 绕过CDN找到真实IP
现在很多大型企业都会使用CDN内容分发网络,因为CDN存在多个缓存服务点,而且会根据用户IP地址,将用户请求导向到最近的服务点上进行相应,所以得不到主服务站点的ip地址,总结学习一下绕过CDN找到真实 ...
- 绕过CDN查找网站真实ip
在渗透测试过程中,经常会碰到网站有CDN的情况.CDN即内容分发网络,主要解决因传输距离和不同运营商节点造成的网络速度性能低下的问题.说的简单点,就是一组在不同运营商之间的对接点上的高速缓存服务器,把 ...
- 绕过CDN查找网站真实IP方法收集
方法1很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有: http://ping.chinaz.com/ http://pi ...
随机推荐
- 手机网站Meta的使用
meta指元素可提供有关页面的元信息(meta-information),比如针对搜索引擎和更新频度的描述和关键词. 标签位于文档的头部,不包含任何内容. 标签的属性定义了与文档相关联的名称/值对. ...
- 在centos6.5 上安装最新版mysql
在mysql上如果直接安装mysql安装的不是5.6版本以上.下面记录怎么解决安装最新版mysql5.6以上. 1.查看本机都安装了mysql什么版本:rpm -qa | grep mysql,默认是 ...
- 2019-2020 Saint-Petersburg Open High School Programming Contest (SpbKOSHP 19)
2019-2020 Saint-Petersburg Open High School Programming Contest (SpbKOSHP 19) easy: ABFGHI medium-ea ...
- 使用CSS为图片添加更多趣味的5种方法
使用Photoshop为每个图片添加某种样式虽然可行,但会是相当乏味且困难的长久工作.下面要介绍的CSS技巧将帮助你从痛苦中解脱出来! 阴影效果 通过使用带有一些padding之的背景图来添加阴影效果 ...
- Python 执行tail文件并操作
def log_search(self, logfile, search_content, timeout=10): import time import subprocess import sele ...
- mysql UDF提权问题
测试UDF提权,时候遇到问题,创建函数shell提示存在 当执行操作的时候又提示,shell函数不存在. FUNCTION mysql.shell does not exist 如果在测试环境下,一般 ...
- Apache Forbidden 403错误提示
在配置Linux的 Apache服务时,经常会遇到http403错误,我今天配置测试时也出现了,最后解决了,总结了一下.http 403错误是拒绝访问的意思,有很多原因的.还有,这些问题在win平台的 ...
- Go, JS和Websocket
JS中建立Websocket连接 var ws = new WebSocket("ws://hostname/path", ["protocol1", &quo ...
- C++ 系列:随机数
C++中没有自带的random函数,要实现随机数的生成就需要使用rand()和srand().不过,由于rand()的内部实现是用线性同余法做的,所以生成的并不是真正的随机数,而是在一定范围内可看为随 ...
- Let's Encryt免费SSL证书申请[我司方案]
Let's Encrypt颁发的证书是目前生产的大多数浏览器都信任的,您只需下载并运行Let's Encrypt客户端来生成一个证书即可. 在颁发证书之前,需要验证您的域名的所有权.首先,在您的主机上 ...