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
=> 我们可以看到这里是明显存在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
可用网址:
▲ 利用邮件服务器接口获取真实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
Web安全-CDN相关技术的更多相关文章
- 【原】http缓存与cdn相关技术
摘要:最近要做这个主题的组内分享,所以准备了一个星期,查了比较多的资料.准备的过程虽然很烦很耗时间,不过因为需要查很多的资料,因此整个过程下来,对这方面的知识影响更加深刻.来来来,接下来总结总结 一 ...
- http缓存与cdn相关技术
阅读目录 一 http缓存 二.Http缓存概念解析 三.cdn相关技术 摘要:最近要做这个主题的组内分享,所以准备了一个星期,查了比较多的资料.准备的过程虽然很烦很耗时间,不过因为需要查很多的资料, ...
- 关于Web开发里并发、同步、异步以及事件驱动编程的相关技术
一.开篇语 我的上篇文章<关于如何提供Web服务端并发效率的异步编程技术>又成为了博客园里“编辑推荐”的文章,这是对我写博客很大的鼓励,也许是被推荐的原因很多童鞋在这篇文章里发表了评论,有 ...
- SSE及相关技术(web sockets, long polling等)
server-sent events--One Way Messaging 允许网页获得来自服务器的更新,并且自动更新 Server-Sent Events: allow a web page to ...
- Java Web相关技术(汇聚页)
Java Web相关技术(汇聚页) 初学Java Web(2)——搭建Java Web开发环境
- 【转】一种新型的Web缓存欺骗攻击技术
为了减少WEB响应时延并减小WEB服务器负担,现在WEB缓存技术已经用的非常普遍了,除了专门的CDN,负载均衡以及反向代理现在也会缓存一部分的网页内容.这里我要介绍一种WEB缓存欺骗攻击技术,这种攻击 ...
- 前端框架之bootstrap及相关技术网站
1.web框架之bootstrap bootstrap来源Twitter,是一个CSS/HTML框架,它是基于HTML,CSS,JavaScript下的,使用简洁,当中提供了很多HTML和CSS 如用 ...
- Web前后端缓存技术(缓存的主要作用是什么)
Web前后端缓存技术Web前后端缓存技术(缓存的主要作用是什么) 一.总结 一句话总结: 加快页面打开速度 减少网络带宽消耗 降低服务器压力 1.在Web应用中,应用缓存的地方有哪些? 主要有浏览器缓 ...
- 新手入门:史上最全Web端即时通讯技术原理详解
前言 有关IM(InstantMessaging)聊天应用(如:微信,QQ).消息推送技术(如:现今移动端APP标配的消息推送模块)等即时通讯应用场景下,大多数都是桌面应用程序或者native应用较为 ...
随机推荐
- 每天五分钟Go - 指针
什么是指针 一个指向内存地址的变量,称为指针变量,指针是一个特殊的变量,他的值存储的是另一个值的内存地址 指针变量的声明 var var_name *type var_name 是指针变量的名称,ty ...
- 【JavaWeb】EL表达式&过滤器&监听器
EL表达式和JSTL EL表达式 EL表达式概述 基本概念 EL表达式,全称是Expression Language.意为表达式语言.它是Servlet规范中的一部分,是JSP2.0规范加入的内容.其 ...
- 🔥 LeetCode 热题 HOT 100(51-60)
142. 环形链表 II 思路:快慢指针,快慢指针相遇后,慢指针回到头,快慢指针步伐一致一起移动,相遇点即为入环点 /** * Definition for singly-linked list. * ...
- SuperEdge 高可用云边隧道有哪些特点?
作者 作者李腾飞,腾讯容器技术研发工程师,腾讯云TKE后台研发,SuperEdge核心开发成员. 背景 在边缘集群中,边缘端和云端为单向网络,云端无法主动连接边缘端,常见的解决方案是边缘端主动和云端( ...
- 群晖NAS网络存储服务器防盗防小偷
群晖NAS网络存储服务器防盗防小偷 根据群晖NAS的实际测量外形尺寸到淘宝网邮购金属 配电箱(弱电箱). 把配电箱(弱电箱)用粗螺丝固定到机柜或墙壁上. 把群晖NAS用密码纯铜挂锁锁在配电箱(弱电箱 ...
- C++//菱形继承 //俩个派生类继承同一个基类 //又有某个类同时继承俩个派生类 //成为 菱形继承 或者 钻石 继承//+解决
1 //菱形继承 2 //俩个派生类继承同一个基类 3 //又有某个类同时继承俩个派生类 4 //成为 菱形继承 或者 钻石 继承 5 6 #include <iostream> 7 #i ...
- Java8 新特性 Stream Api 之集合遍历
前言 随着java版本的不断更新迭代,java开发也可以变得甜甜的,最新版本都到java11了,但是后面版本也是不在提供商用支持,需要收费,但是java8 依然是持续免费更新使用的,后面版本也更新很快 ...
- 端口,InetSocketAddress类的使用
端口 端口表示计算机上的一个程序的进程: 不同的进程有不同的端口号!用来区分软件 被规定:0~65535 TCP,UDP:65535*2 单个协议下,端口号不能冲突 端口分类: 公有端口:0~1023 ...
- Python - pydantic 入门介绍与 Models 的简单使用
前言 为啥要学这个,因为 FastAPI 是基于它进行开发的,而且是个不错的框架,所以有必要深入学习 前置学习 Python 类型提示:https://www.cnblogs.com/poloyy/p ...
- 【vulapps】Sturcts2 S2-037RCE漏洞复现
一.漏洞基本信息 S2-037官方公告 CVE编号:CVE-2016-4438漏洞名称:Struts(S2-037)远程代码执行漏洞发布日期:2016.615受影响的软件及系统:Apache stru ...