0x01 CDN WAF绕过#
CDN的全称是Content Delivery Network,即内容分发网络 。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定 。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上 。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度 。--来源“百度”
文章插图
目前CDN服务的功能是越来越多,安全性也越加强悍,用户的每个请求都会被发送到指定的CDN节点上,最后转发给真实站点 。这个过程就好像加了一道关卡,这个关卡提供了缓存、加速、防御的特点 。
在渗透测试中,如果遇到了CDN站点,几乎许多测试请求都会被CDN拦截,甚至多次请求后,会被加入黑名单 。这个CDN节点属于云端WAF,如果将数据直接发送给真实站点,那么也就没有CDN的处理了,整个防御就没有任何作用 。
那么下面我来带给大家几个方法来绕过云端WAF 。首先我们必须要查询到目标站点的真实地址才可以,这里的真实地址就指的是真实IP 。以下几个方法只是个人之见,如果有遗漏或者缺点,请在文章评论指出……
第一个,查询域名历史DNS解析,网上有很多站点都可以查询站点的历史DNS解析 。假设我在本月10号,域名绑定的服务器IP是199.199.199.,在下月15号更换了服务器的IP,那么这个199.199.199.可能就会被直接记录在历史记录中 。再根据历史记录进行判断当前IP是否是现在的网站真实服务器地址 。
文章插图
第二个,查看子域名解析地址是否和主域名的IP地址相近 。一般再查询域名是否存在CDN的话,我们可以看响应头、或者看解析记录,里面大多都有关于云端CDN的字眼 。当然提倡写脚本,Kali linux中也有工具 ~
文章插图
第三个,社工DNS 比较苛刻,需要拿到CDN那边的管理员权限开可以 。
第四个,CDN节点分发缺陷,通过国外IP访问网站可能会出现真实IP,因为有的CDN服务商可能只做了国内节点,没做国外的,这样访问请求是直接被转发到真实服务器地址上 。
那么下面来概述一下得到了绕过的条件如何进行绕过,假设服务器端的IP地址为121.121.1x1.1x1,管理员设置了CDN节点,经过上面的方法得到真实IP地址后,可以直接更改本地的hosts文件来直接将数据发送到网站服务器上 。这里不再详细概述啦~
0x02 白名单应用(子域名)#
在有些时候,某些厂商的环境刚刚上线,用于调试项目,并没有直接将子域名添加至CDN节点,那么就有可能出现某些安全隐患,因为刚上线的项目都没有任何防御措施,如果当前项目与目标站点搭建在同一个服务器中,也会成为我们绕过WAF的有利条件 。当然白名单应用不止一个上线项目,还有某些管理应用,例如:phpmyadmin,其操作完全不会被WAF拦截,当然应用过多,本人不才,只接触一些常见的,欢迎补充 。
第二篇 应用层过WAF
0x01 HTTP不同的请求方法污染#
> GET 请求指定的页面信息,并返回实体主体 。>> HEAD 类似于GET请求,只不过返回的响应中没有具体的内容,用于获取报头>> POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件) 。数据被包含在请求体中 。POST请求可能会导致新的资源的建立和/或已有资源的修改 。>> PUT 从客户端向服务器传送的数据取代指定的文档的内容 。>> DELETE 请求服务器删除指定的页面 。>> CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器 。>> OPTIONS 允许客户端查看服务器的性能 。>> TRACE 回显服务器收到的请求,主要用于测试或诊断 。
我们可以先看一个请求:
文章插图
可见是一个GET请求,此服务器是一个Apache+PHP的环境 。
推荐阅读
- 好茶种植知识,四川民俗中的茶俗谚语介绍
- 黑茶加工中的微生物,黑茶初制中的酶变
- 盖碗和普洱茶结合,普洱茶中的马蹄
- 开发人员需知道的web测试点
- 渗透测试——XSS利用工具BeEF攻击演示
- 月亮与银河的位置关系是什么 月亮是银河系中的一颗什么星
- 想测试HTTP响应不知道如何开展怎么办?
- 如何使用Istio 1.6管理多集群中的微服务?
- 负载测试工具loadrunner快速获取测试脚本小技巧
- 寂寞的时候泡壶茶,杯中的茶越发的凉