【网络安全】文件上传之安全狗bypass
创始人
2024-04-12 22:27:01
0

作者名:Demo不是emo 

主页面链接:主页传送门
创作初心:舞台再大,你不上台,永远是观众,没人会关心你努不努力,摔的痛不痛,他们只会看你最后站在什么位置,然后羡慕或鄙夷
座右铭:不要让时代的悲哀成为你的悲哀
专研方向:网络安全,数据结构

每日emo:保持心脏震荡,等有人与我共鸣

 

  sql注入的WAF你会了,文件上传的WAF你见过吗,关注我,让我带你由简入难实战各个WAF,今天先来看看web安全渗透必会的安全狗WAF,你会绕吗?看我带你将它拿下

目录

 一:环境配置

1.upload-labs的文件上传靶场

2.安全狗WAF软件 

3.检测WAF是否生效

 [1].创建一句话木马

 [2].开启靶场环境

 [3].尝试上传php文件

二:实际操作

1.基于文件名的绕过

[1].00截断

[2].多个等号

2.基于木马内容的绕过

 [1].畸形传参木马

 [2].经典编码木马

 三:拓展内容


 一:环境配置

1.upload-labs的文件上传靶场

这里也是直接给大家准备好了,链接如下,放在根目录下,到浏览器打开就能用了

upload-labs文件上传靶场-网络安全文档类资源-CSDN文库

2.安全狗WAF软件 

  这个应该很多人都没有,但是我肯定为大家准备好了啊,链接如下(就问服务到不到位)

链接:https://pan.baidu.com/s/1i7R28EWV7Bn6Errrxi9UAA?pwd=emlg 
提取码:emlg
 

下载之后跟着提示安全即可

注意:1.安装成功之后记得开启安全狗的网站保护和文件上传防护

           2.记得关闭安全狗的cc攻击防护,因为待会实战过程中尝试多次,可能被封ip 

           3.将文件上传的php后缀设置到黑名单,即防护上传的php文件

3.检测WAF是否生效

 [1].创建一句话木马

 [2].开启靶场环境

这里演示的环境是upload-labs靶场的第六关,这关没有WAF时的上传方法是抓包在文件名后面添加一个空格即可绕过。如下

 没有配置WAF时将这里的“text.php”改为“text.php ”即可绕过限制

此时打开并选中刚才的php一句话木马

 [3].尝试上传php文件

 显示拦截页面,说明本次实验需要的环境已经搭好了

二:实际操作

这里就不做这么多原理的讲解了,因为讲起来太多了,所以这里就直接给大家介绍绕过姿势

1.基于文件名的绕过

[1].00截断

先将"text.php"换成"text.php;.jpg", 这里的.jpg是为了混淆WAF和后端的后缀识别

 再将;hex编码替换为00,造成00截断,如下

 此时放行试试数据包,效果如下:可以看到,已经绕过了WAF的检测,因为并没有弹出安全狗的拦截页面,但是后端的过滤还没有绕过,所以显示不允许该文件上传

 刚才我们说了这关靶场后端的绕过方式是加一个空格,所以我们在刚才的基础上再加一个空格,就是把"text.php.jpg"变成”text.php .jpg

此时再放行数据包,效果如下,成功上传

 这里我们来尝试访问一下上传之后的php文件,又被拦截了

这又是为什么呢?这就是待会我要给大家讲的基于内容的拦截,不急,先给大家把绕过WAF上传限制的姿势讲了来

[2].多个等号

这个操作就更简单了,直接在文件名的位置把一个等于换成多个等于,也能绕过WAF,此时再在末尾加空格,直接成功上传,如下

2.基于木马内容的绕过

 因为上面我们用的一句话木马是市面上最常见的一句话木马,基本上所有的WAF识别到这段内容都会将其拦截,这也是我们为什么上传了但是访问不了的原因,可以开启安全狗的木马扫描试试,如下

  可以看到木马很快就被扫描出来了,还标记了一个常见木马,这可不行啊,得想办法啊,所以我们要做免杀一句话木马,让他扫描不出来,这里给大家准备了两个能够过安全狗的木马

 [1].畸形传参木马

 使用方式如下

get方式传如参数x和y,值分别为bassert ,再用POST方式传如参数z,值为自己想执行的命令

 可以看到能成功执行,达到木马的效果

 [2].经典编码木马

通过assert函数的base64编码后的拼接即可绕过,如下: 

代码如下

 此时浏览器访问该文件,POST方式传入参数aa,值为想要执行的命令即可,如下

 成功执行,直接拿下

 三:拓展内容

上面的绕过方式不可避免都有一些问题,那就是传参时使用了敏感关键字,比如phpinfo()之类的,有一些防火墙就会检测传入的参数是否含有敏感内容(例如宝塔),那这时候我们怎么办呢?

我们可以把传参使用的敏感关键字变成其他编码格式,比如base64,再在一句话木马中对传入的参数先做一个解码操作,如下

在木马中添加解码操作 

就是把关键字拿去加密

 传入加密过后的关键字

 同样可以生效,成功绕过了关键字检测

 

希望大家看完后能有收获,感谢大家的阅读。

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...