Web安全-CDN相关技术

CDN介绍

    CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。但在安全测试过程中,若目标存在CDN服务,将会影响到后续的安全测试过程。
    日常生活中也常常通过CDN和负载均衡的轮询来实现一个域名对应多个IP地址。

# 如何判断目标存在CDN服务?
   利用多节点技术进行请求返回判断【超级ping检测】

# CDN对于安全测试有哪些影响?
   我们找不到真实IP的话就无法对真实的站点节点进行测试

# 目前常见的CDN绕过技术有哪些?
1、子域名查询【由于经济原因,主域名往往与子域名站点搭建在同一台服务器上】

2、邮件服务查询【公司内部邮箱服务器一般不会做CDN,所以可以想办法让对方的邮件服务器来访问你】

3、国外地址请求【由于经济原因,很多国内公司并不会做国外CDN的部署】

4、遗留文件【类似于phpinfo()这种信息未删除遗留下来会暴露真实IP】

5、扫描全网【用全世界的网络对此站进行访问,并搜集响应IP,进而分析哪个是真实IP】

6、黑暗引擎搜索特定文件【shodan、zoomeye】【搜索特定文件的hash[md5]值】

7、查询dns历史解析记录

8、 以量打量【通过DDOS】

# CDN真实IP获取后绑定指向地址,然后更改本地HOSTS解析指向文件

案例演示

▲利用子域名请求获取真实IP

案例1:https://www.xueersi.com/

=> 我们可以看到这里是明显存在CDN的

但是如果我们在进行站点设置的时候把站点的WWW设置了CDN,但是却没有在*选择这里设置CDN,那么我们访问xueersi.com的时候就会是真实IP(哪怕它会自动补充为www.xueersi.com)

查询到真实IP

利用第三方查询查询到真实IP

案例2:http://m.sp910.com 手机站点有时候可以绕过CDN

它其实和www.sp910.com访问的是同一个页面,只不过它根据你的访问方式为手机进行了调整。

所以有的时候你拿到了这个站点的手机页面IP,也就等于拿到了PC端真实IP

▲ 利用国外地址请求获取真实IP

我们注意到刚才的m.sp910.com很明显是没有做国外CDN的,于是我们就拿到了真实IP为58.218.215.92

▲ 利用第三方接口查询获取真实IP

可用网址:

https://get-site-ip.com/

https://x.threatbook.cn/

▲ 利用邮件服务器接口获取真实IP

案例:墨者学院注册邮件

我们注意到上面这个是来自于腾讯的中转邮件,应该不是真实的;那么我们再往下找

mozhe标志的邮箱,不出意外这个应该就是真实IP地址

我们接下来去百度查询一下,我们发现这个IP所在地在重庆

接下来我们怎么确定他就是这个IP呢?

方法1:人情味【查备案地址、备案号】

我们在墨者学院官网下面发现

它的备案地址有渝,那么基本就可以确定它就是这个重庆的IP

方法2:修改host文件测试

将我们想要测试的IP地址添加到host文件中进行测试,看看浏览器是否能打开这个网址,如果可以,这个就可能是我们要找的真实IP;如果不可以,就一定不是。

访问网站测试

但是要注意:如果我们修改的IP是CDN节点它是可以打开的;但是如果不是真实IP地址,也不是CDN节点,就一定打不开。

▲ 利用黑暗引擎搜索特定文件获取真实IP

原理介绍:

利用Web上存在的特有文件进行文件hash的获取,再利用黑暗引擎shodan进行全网追踪,得到其出现地址,可以基本确定为真实地址

操作流程:
1、首先访问获取ico地址
2、然后利用python2获取其ico地址的hash信息
3、再利用黑暗引擎shodan进行全网追踪
4、最后通过结果访问探针真实地址

第一步:直接URL访问获取完整ico地址

第二步:通过python2脚本获取hash值(需要提前安装好mmh3库)

import mmh3
import requests
response = requests.get('http://www.xiaodi8.com/img/favicon.ico')
favicon = response.content.encode('base64')
hash = mmh3.hash(favicon)
print hash

#安装mmh3失败记得先安装下这个
#Microsoft Visual C++ 14.0的百度云下载地址为:
#https://pan.baidu.com/s/12TcFkZ6KFLhofCT-osJOSg 提取码:wkgv

然后直接访问shodan,进行搜索

被打码的地方基本就是真实IP所在地

工具介绍

全网扫描工具:zmap、fuckcdn、w8fuckcdn

zmap:

zmap是一款扫描软件,由Durumeric领导密歇根大学研究团队开发。这一工具能在一个小时内扫描整个公共互联网,显示近40亿在线设备的信息。扫描结果能显示哪些网站无法防御特定漏洞。

fuckcdn:

用dig命令得到解析IP并记录下来

然后我们运行fuckcdn,并输入IP和端口

然后他就会开始进行全网扫描

然后结果会实时动态更新到Result.txt文件中去

w8fuckcdn:
使用教程:
https://www.bilibili.com/read/cv8384169

涉及资源

https://www.shodan.io

https://x.threatbook.cn

http://ping.chinaz.com

https://www.get-site-ip.com/

https://asm.ca.com/en/ping.php

https://github.com/Tai7sy/fuckcdn

https://github.com/boy-hack/w8fuckcdn

https://mp.weixin.qq.com/s?__biz=MzA5MzQ3MDE1NQ==&mid=2653939118&idx=1&sn=945b81344d9c89431a8c413ff633fc3a&chksm=8b86290abcf1a01cdc00711339884602b5bb474111d3aff2d465182702715087e22c852c158f&token=268417143&lang=zh_CN#rd
posted @ 2021-08-24 21:26  hacker-裁决者  阅读(756)  评论(0编辑  收藏  举报