24 WEB漏洞-文件上传之WAF绕过及安全修复_阿里云盾waf绕过怎么修复

403 篇文章 18 订阅
393 篇文章 2 订阅
目录
    • WAF绕过
    • 上传参数名解析:明确哪些东西能修改?
    • 常见绕过方法:
    • `符号变异-防匹配(’ " ;)`
    • 数据截断-防匹配(%00 ; 换行)
    • 重复数据-防匹配(参数多次)
    • 搜索引擎搜索fuzz web字典
    • 文件上传安全修复方案
WAF绕过

safedog
BT(宝塔)
XXX云盾
宝塔过滤的比安全狗厉害一些,在真实情况下现在很多网站都是用宝塔

上传参数名解析:明确哪些东西能修改?

Content-Disposition: 表单数据,一般可更改
name:表单参数值,不能更改,改完之后,数据包是有问题的,跟前端的表单值会对不上,这样后端会无法判断你上传的地方,如果要更改,那前端得跟着一起更改
Filename:文件名,可以更改,但是更改的意义不大
Content-Type:文件MIME,视情况更改,如果对方是mime判断的话,修改之后可以达到绕过,那如果对方不是的话,那更改的意义就不是很大了

防护软件通过数据包文件里面的代码(用我们记事本打开看到的文件代码)里面是否存在后门判断出我们上传的数据包有问题,从而进行拦截的
代码的变异是我们后面要学习的,我们这篇文章现在不讲它
检测有参数值的,后面有数据的,其中文件名是比较关键的,如果后缀写成.php的,那绝对会被检测到。它拦截你就是检测到你php的关键字
我们常规的绕过思路,就是让他检测不到php,要么就是换一个脚本类型,然后这个脚本类型能够执行出php,两个方法都行,因为我们最终目的是让这个文件执行出脚本的后缀。
采用ph p去绕过,是可以成功的,但是不会被后台当成一个脚本去执行,这样子也是不行的
我们可以使用php. 、php 去绕过,最后发现被安全狗给拦截了。

常见绕过方法:

数据溢出-防匹配(xxx…)
把数据搞大,数据量过多的话,程序会按照程序的写法去里面找,但是数据太多了,程序也会有崩溃,或者匹配了多少条之后,他就找不下去了
有时候文件名过长的话,会把服务器搞崩;在form-data;那里添加大量的垃圾数据,末尾结束记得加个;,进行绕过最后绕过防护,上传脚本。
在这里插入图片描述
这是垃圾数据的一个典型情况,末尾是要加;,是有差异的。因为你加了;,默认name是一个表单,注意一下;不要在filename里面插,没有任何意义

符号变异-防匹配(' " ;)

;代表的是一对一的关系,结束了。没有带双引号的是程序自带的东西,带双引号里面的就是不固定的,一般在程序里面,将单引号括起来的话,基本上在程序开发里面单引号和双引号都可以。分号代表一个语句的结束,数据包截止的后面是没有分号的,如果加一个分号,那就代表后面还有
就是很多东西,他都存在一个函数替换,这个单引号和双引号,他能够实现的效果是一样的,我们为什么不把单引号变成双引号呢,防护软件可能检测的是双引号里面的东西,单引号的东西不检测呢,测试了一下,发现还是拦截了
我们可以去掉一个单引号或者双引号,相当与没有一个闭合,他会认为这个数据就是:.php,程序开发里面大家都知道,如果你把一些东西,没有用单引号和双引号括起来,会误认为是一个函数或者程序里面一个自带的东西,但是用双引号括起来的话,会认为是一个字符串
防护软件的匹配形式只能够自己去测试,才能知道是什么形式,是"qq.php,还是qq.php,:qq.php,如果相当于是第三种情况的话,我们就实现了绕过,那就是没有匹配到,因为他匹配到的话,那他绝对会实现拦截
安全狗现在的匹配规则是匹配单引号、双引号里面的东西,因为你不写,他就能够上传成功,相当于11.php没有匹配到,因为他没有接收到,他就绕过了,他如果接收到,绝对会拦截
在前面加可以绕过,在后面加就不能绕过,说明安全狗目前的匹配规则是取最后一个双引号,然后把前面的取出来
我这个测试是没有必要的,这只是说大家以后碰到同类的防护软件,不管是安全狗还是宝塔,安全公司里面的产品,那么大家在研究的时候,也是这么个研究方法,大家不要自己绕过就绕过了,我们学的是研究的方法后期只要脑瓜子灵活一点,是没有任何问题是可以绕过的,方法学不到,那讲了也是白讲,我希望大家学的是绕过的方法,以后自己就能做这个事情
绕过思路就是尽可能让他找不到php就可以了
“x”.php,绕过成功,上传的是.php,可以当.php执行。或者"x"x.php,上传成功是x.php,当我们知道方法就非常好玩了。

数据截断-防匹配(%00 ; 换行)

x.jpg;.php,它的意义是很明显的,因为安全狗也是程序,当它碰到截断,也是会截断的,后面的.php就没有匹配到,最后上传的后缀是.php就行了

换行相当于代码中有/n在中间了,如果程序当中用/n来表示换行,数据包识别我们这种写法,其实区块传输和换行是一个原理
filename=“x.p
h
p”

重复数据-防匹配(参数多次)

代码中匹配的递归循环,对方在验证你格式后缀的时候,如果他是单次验证,就会造成pphpph绕过
在这里插入图片描述
最后一个是filename=“x.php”;就可以了。这不是垃圾数据,垃圾数据会比这个多很多
filename=“Content-Disposition: form-data;name=“upload_file"x.php”,最后上传成功了,因为安全狗认为x.php是没有给filename的,但是他实际上是给了filename。借助原有数据包自带的正常的东西,把他作为干扰条件写到filename里面,就实现把x.php给绕过了。
/也可以做为一个条件去绕过,filename=”/jpeg;/x.php",/相当于一个截断,中间被注释了
#Payload:
大量垃圾数据缓冲溢出(Content-Disposition,filename等)
filename=“x.php
filename='x.php
filename=“a.jpg;.php”;
filename=“a.php%00.jpg”
filename=“Content-Disposition: form-data;name=“upload_file”;x.php”
filename=“x.jpg”;filename=“x.jpg”;…filename=“x.php”;
filename=”/jpeg;/x.php"
filename=
"
x
.
p
h
p
"
通过这篇文章,让大家明白研究的方法,我的研究方法就是不停的去测试,但是我们去测试总有一个先后顺序,前提条件下,我们得知道什么东西能改,什么东西不能改,这个注入语句核心类是不能改的,改的话,这个语句是会出问题的,那么最终的效果也是不能达到。同样的,我们在测试上传绕过也是这么个道理,你一定要知道那些地方,你不能动他。动他这个数据包就会有问题,那些地方你就不能改,你要对能修改的地方使劲的进行修改,然后在测试的时候,把每个waf的东西给搞清楚,以后你在研究他的时候就很容易上手,安全狗是目前比较容易过的WAF,有些东西其实都是一样的道理

搜索引擎搜索fuzz web字典

在做waf绕过的时候,fuzz是通常的一种方式
在这里插入图片描述
在filename=""这个地方加载字典进行变化,数据包发包量不要过大,不然安全狗的CC开关会直接封住你的IP。
这种就是全用工具去帮你跑,你就不要去思考问题,我们称之为fuzz模糊测试,就是用大量可能性在这里不断进行测试,其中抓到一种可以成功的可能,就完事了
假如你在入侵一个网站,你用100种方法去测试,FUZZ就是这么个情况

文件上传安全修复方案

后端验证:采用服务端验证模式
因为前端可以禁用js脚本运行,就可以绕过了
后缀检测:基于黑名单,白名单过滤
MIME检测:基于上传自带类型检测
内容检测:文件头,完整性检测
三种检测都上,比别人更安全,相关代码就几个函数,每个语言不一样,有些写的高级点的,就用面向对象的写法,写的低阶写个函数也行,在低阶点的,就在上传的那个点,写一个过滤就完事了,参考如下:
自带函数过滤:参考uploadlabs函数
getimage不上传图片就不会载入函数,只有上传图片才可以,所以它从理论上,已经把文件的属性给定义了。
自定义函数过滤:function check file(){}
把黑白名单两个都加在一起,既不是php,也不是jsp,他也必须是jpg,png常见的格式,这里可以搞双重验证,黑白两个都加,自己去查一下资料,检测传过来的参数名的值,看一下里面有没有关键字,php。
WAF防护产品:宝塔,云盾,安全公司产品等
其它语言也有相关函数,都是可以举一反三的
没有上传漏洞,再做绕过,始终是个0,没有办法判定是否存在上传漏洞,只能去盲猜。你既不能保证是否有漏洞,还得去测试是否能够绕过
前期一般是先绕过WAF,再去判定是否有上传漏洞,因为你有时候去判定是否有上传漏洞的时候,WAF已经触发,也不知道能不能成功

题外话

**
**
**
黑客&网络安全如何学习

今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。

1.学习路线图

在这里插入图片描述

攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。

2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。

内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。

在这里插入图片描述

(都打包成一块的了,不能一一展开,总共300多集)

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。

在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。

还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源

最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。

这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。

参考解析:深信服官网、奇安信官网、Freebuf、csdn等

内容特点:条理清晰,含图像化表示更加易懂。

内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
在这里插入图片描述

因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取

🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值