CloudFlare防护下的破绽:寻找真实IP的几条途径
本文仅代表作者独立观点,本文提及的技术仅供安全研究和渗透测试用途
看Twitter发现CloudFlare总裁什么的最近很高调,北京、香港的跑着参加会议、发表演说什么的,CloudFlare似乎也没那么牛逼吧。前段就关注过比较火热的CloudFlare如何抵御住大流量的攻击。政治跟咱没毛线关系,但你说你那么牛,这就有点不太合适了吧。
目前大部分的网站都基于虚拟化部署,说的高大上一点就是云技术和CDN技术。在闲暇之余也关注过这个事情,毕竟是比较先进的技术,以前传统的入侵渗透都是基于单主机,最多就是作一下负载均衡和反向代理。所以在寻找网站的真实IP上,不用费太多的力气,对真实主机进行信息探测和其他的操作。就不多废话,大家都懂,说多了有装逼之嫌。
现在很多网站都使用CloudFlare提供的服务,大家可能以往也都遇到过,如何绕过CloudFlare的防护,找到真是的网站IP,估计大家都比较蛋疼,肯定不止我一个人蛋疼。其实就前段时间CloudFlare被DDoS的事件,直接点说就是那个投票网站被DDoS,没搞死的重点不是CloudFlare的防护牛逼,而是木有找到网站服务器的真是IP,那么多攻击方式,那么大的流量,我想搞死一个小网站是分分钟的事情。扯淡扯远了,咱讨论的是如何找到经过CloudFlare防护的主机真实IP。在Wooyun里面有过关于CDN找真实IP的讨论,我在这里也说一下我个人的一些经验,就拿CloudFlare的客户做例子。
找真实IP是个体力活,需要各种耐心和运气成分。
常规的方式一,找子站和子域名,看看有没有子站没有经过CDN的防护,二级,三级甚至四级域名。
二、查找看看有没有邮件系统,一般的邮件系统很多都是在内部,没有经过CDN的解析,这样通过查看原始的邮件头部,可以看到真实的IP。第三就是通过查询域名历史信息,一般的域名的历史信息,还是可以查询到真实IP的,CloudFlare有个比较弱智的硬伤,这是通过一段时间观察分析所得出的结果,这个也可能是一个设计的缺陷,也可能是为了管理识别。大部分通过CloudFlare保护的网站都有一个direct-xxx(xxx对应网站域名)的子站,通过这个子站我们可以获得该网站的真是IP。例如这里我随便找个网站,我们手工测试一下:
我们不做DDOS,没必要去较真网站的真实IP是什么,但如果渗透过程中需要从Web入手,而暂时又找不到可利用的漏洞,需要通过其他弱智的方式来进行入侵,如各种C段的渗透等,那样真实的网站IP就显得比较重要了。OK,先ping一下,看看, 141.101.122.201,美国。
试试刚才说的那个方法
蛋疼了,被CloudFlare隐藏的那是相当的深了,这果然是特殊照顾的客户啊。这里就不得不祭出神站了,提到一个比较叼的网站,www.crimeflare.com,网站有个DomainSearchBox,可以对CloudFlare客户网站进行真实IP查询。这个估计是哪个哥们跟CloudFlare网站过不去建立的吧。
果断发现真实IP,147开头,香港大学的,具体地址就不透露了,免得顺丰快递上门服务。如何验证真实性呢,最简单的办法就是修改本地的Host文件,真实的IP对应与之对应的域名即可。但是验证了一下,发现不对,这只是曾经用过的一台服务器IP地址,应该是这鸟网站扛不住的时候CF帮忙搬家了,这里只能呵呵一下。看了下C段,全是香港大学的机器,没啥兴趣,搞来意义不大,就不浪费时间了。然后各种抓包分析,后来还是没突破,最终拿到了个CDN的小工具,类似于核总写的CDN终结者一样吧(某大牛,具体名字就不方便透露了),配和工具倒腾了会,竟然还真让我找到了一个在美国的IP地址(54.xxx.xxx.xx),查一下地址看看。
验证后果然为真实服务器,果然是AWS地址上,也验证了之前所有的想法,原来躲在了在亚马逊云上面,又是用的EC2产品,对ec2不太了解,注册了个aws看了看,对于EC2这种产品没有0Day是基本直接渗透没希望的。
不过写这个文章的时候手贱又看了下,发现真实的IP又变回了香港大学,具体的地址自己查都可以验证的,不能说太多,当心顺丰快递和那啥。
好不容易挖出这个站,当然也不想轻易放过,继续,各种扫描器一并带出,端口、路径、AWVS纷纷上去,果然让我找到一个复杂一点的注入点(估计现在没了额),就是HTTP头部的延迟注入,抓个POST包,构造如下:
好了,那就丢SQLMap里去跑吧:
MySQL的数据库,Web还是和数据库分离,好吧,就不考虑导出Shell了,看看数据走人吧。一个个字母的出来,果然好慢啊。耐心等待吧,爆出版本、路径了,继续爆爆数据库、数据表、列名什么的。不过这破数据就电话和身份证号有用点吧,连个名字都没有,指定下列名什么的,就开始Dump了,一列身份证号,一列手机号,香港人和咱又扯不上什么关系,尽管社吧。
漏洞验证完毕,其他数据就不在话下了。多的就不说了,已打包在附件中,为保护自己的水表,害怕警察蜀黍啊,所以特意加密。解压密码可以私聊,仅作技术交流吧,这次也算是赶上了一次潮流,分析了分析。
补充一:花了一定时间,也翻遍了核总、鬼仔等大牛的博客,更是多亏算是0Day级的针对CDN的分析、抓包工具吧,所以才有这次针对CloudFlare公司的产品和客户的一次全面分析。有人质疑CloudFlare不能代表所有CDN公司,其实我觉得这个是一通百通的道理,并且关键是在于积累,人家技术也确实牛逼,这点不得不承认,亚马逊云主机EC2不谁都没漏洞利用工具么,所以绕过不容易,搞定也不容易,贵在坚持。
补充二:关于数据的问题,作为搞技术的,尤其是白帽子而言这些数据对我没有任何意义,漏洞证明需要才会稍微注入一下,最终也是利用Sqlmap完整脱裤,网盘地址:http://1drv.ms/1vcg96F。目前仅限于私底下交流,密码私信,JC请绕道。
CloudFlare防护下的破绽:寻找真实IP的几条途径的更多相关文章
- nginx 代理模式下,获取客户端真实IP
最近做博友推荐,发现个小问题,用$_SERVER['REMOTE_ADDR'];得到的都是服务器的地址192.168.96.52,搜索了一下,发现问题,改为$_SERVER['HTTP_X_REAL_ ...
- CDN下nginx获取用户真实IP地址
随着nginx的迅速崛起,越来越多公司将apache更换成nginx. 同时也越来越多人使用nginx作为负载均衡, 并且代理前面可能还加上了CDN加速,但是随之也遇到一个问题:nginx如何获取用户 ...
- 13.多级代理下Nginx透传真实IP
1.基于代理(七层负载均衡)情况下 透传客户端的真实IP 环境: 10.0.0.5 proxy_node1 一级代理 10.0.0.6 proxy_node2 二级代理 10.0.0.7 proxy_ ...
- 【知识学习】如何寻找真实IP
1.多地点ping查询IP,如果都一样可能没有使用cdn,如果有cdn,尝试海外地点ping查询IP 2.ping一下没有WWW的域名,可能存在真实IP.比如www.baidu.com设置了cdn,那 ...
- NGINX配置获取CloudFlare 下的访客真实IP并记录到日志
我用的是lnmp.org的环境 /usr/local/nginx/conf/nginx.conf 在 http { } 部分增加 map $HTTP_CF_CONNECTING_IP $clientR ...
- [转载]绕过CDN查找真实IP方法总结
前言 类似备忘录形式记录一下,这里结合了几篇绕过CDN寻找真实IP的文章,总结一下绕过CDN查找真实的IP的方法 介绍 CDN的全称是Content Delivery Network,即内容分发网络. ...
- 绕过CDN查找真实IP的方法
正常情况下,通过cmd命令可以快速找到域名对应IP,最常见的命令如ping.nslookup.但很多站点出于用户体验和安全的角度,使用CDN加速,将域名解析到CDN,这时候就需要绕过CDN来查找真实I ...
- 绕过CDN找到⽬标站点真实IP
一.判断目标网站是否使用CDN 在渗透测试中,如果连真实 IP 都没有找到的话,相当于连门都没有找到.所以,如何验证目标网站是否使用了 CDN 呢? 1.多地 ping 法(一般情况下使用多地 pin ...
- 在Thinkphp3.2.3框架下实现自动获取客户端IP地址的get_client_ip()函数
在Thinkphp框架下使用get_client_ip()函数获取客户端IP地址十分方便: 一行代码便可以实现:$ip = get_client_ip(); 但当我们测试时会遇到后台获取的IP地址显示 ...
随机推荐
- android 线程间的通信
(转自:http://www.cnblogs.com/allin/archive/2010/05/19/1738800.html) andriod提供了 Handler 和 Looper 来满足线程间 ...
- Centos重新启动网络配置文件,/etc/resolv.conf被覆盖或清空问题解决
Centos在执行命令 yum update时报错如下: Could not get metalink https://mirrors.fedoraproject.org/metalink?repo= ...
- H.264 White Paper学习笔记(一)总览
H.264 White Paper对于264编码器的原理讲的比较透彻,在阅读学习的时候收获很大,这份文献网上有很多了,也有不少人翻译,不过想要理解更清楚我觉得还是得看英文原版的. 首先看一下白皮书里给 ...
- wps 批量调整图片大小 宏
Sub 批量调整图片大小() ' ' 批量修改图片 Macro ' 宏由 zxz 录制,时间: 2014/10/29 '批量调整图片大小,避免图片太大显示不完全 '循环图片集合 For Each iS ...
- openstack 中镜像状态详解 Image Statuses
Images in Glance can be in one the following statuses: queued The image identifier has been reserved ...
- iOS开发 纯代码创建UICollectionView
转:http://jingyan.baidu.com/article/eb9f7b6d8a81a5869364e8a6.html iOS开发 纯代码创建UICollectionView 习惯了使用xi ...
- MatLab Mark Points 给点标序号
在MatLab中,我们有时要给画出的点按一定顺序标上序号,下面这个简单的例子实现这个功能: x=rand(,); y=rand(,); plot(x,y,'r*'); text(x+:));
- 【vue】---项目接口管理---【巷子】
一.前言 在vue开发中,会涉及到很多接口的处理,当项目足够大时,就需要定义规范统一的接口 假设后端的文档分成了以下几个模块 1.发现模块 2.个人信息模块 3.商品模块 4.评论模块 ...... ...
- poj3347 Kadj Squares【计算几何】
Kadj Squares Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 3594 Accepted: 1456 Desc ...
- sftp本地上传和远程下载
1. 打开SecureCRT 连接相应的主机 2. 打开会话后,使用快捷键 alt + p,进入 sftp> 界面 3. 查看 sftp 相应的命令 help 4. 常用命令 (1)查看 ...