安全矩阵

 找回密码
 立即注册
搜索
查看: 2478|回复: 0

任意文件上传之绕过云waf+本地防火墙双重防护

[复制链接]

251

主题

270

帖子

1797

积分

金牌会员

Rank: 6Rank: 6

积分
1797
发表于 2021-10-1 21:37:24 | 显示全部楼层 |阅读模式
本帖最后由 Meng0f 于 2021-10-1 21:38 编辑

​文章来源:Icepaper 潇湘信安 昨天
任意文件上传之绕过云waf+本地防火墙双重防护

                         声明:该公众号大部分文章来自作者日常学习笔记,也有少部分文章是经过原作者授权和其他公众号白名单转载,未经授权,严禁转载,如需转载,联系开白。
                        请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

文章来源:先知社区(Icepaper)
原文地址:https://xz.aliyun.com/t/10278

0x01 waf拦截
在打某市 Hvv 第一天就找到一个文件上传的点,经过测试,可以直接任意文件上传,没有什么道理。


直接尝试上传 Php 文件,被 waf 拦截了



不知道这是哪家的waf,知道的师傅可以说下

尝试了一系列的绕过,发现利用换行+chunk 可以过后缀



之后就要过内容检测的 waf,但是在这里死活过不去


Webshell内容+chunk编码过后缀,但会提示502


之后尝试上传txt,想先看看能不能先绕过内容检测,发现这个waf检测不能同时存在<?和(),如:<?phpinfo(); 这种语句就会被拦截。因为他同时出现了<?和()。

如果你的内容检测没有同时出现()和<?时,就可以过内容检测,不知道市面上有没有这种类型的webshell,我找了一圈好像都有。

0x02 host碰撞绕过
该站点为某个单位的类似官网的站点,然后网站有超链接,该超链接定向跳转到某些ip


因为这种单位很喜欢将自己的服务器部署在C段的分散的IP上,于是猜测,这个类似官网网站的站点也很有可能就搭建在这个超链接的C段上,我们不妨 host 碰撞一下,如果找到了真实IP的话,那么就可能绕过云 waf


于是直接用 host 碰撞的 py 脚本去碰撞一下该C段IP,发现居然成功了。


直接修改Target为碰撞出来的真实IP,之后就不用 chunk +后缀换行也能过后缀waf拦截了(需要换行,不用chunk)。


但是这里内容检测还是过不了,但是不会显示云 waf 地址或者 502了,猜测肯定是过了 cdn, 但是不知道是什么拦截住了(可能为本地的硬件防火墙)


0x03 content-Encoding绕过
于是翻了翻笔记,找到以前屡试不爽的上传 Tips ————添加 Accept-Encoding: deflate,但发现这种方法已经过时了,换成 Accept-Encoding: gzip 发现还是过不了这个拦截


在http协议中,可以对内容(也就是body部分)进行编码, 可以采用gzip这样的编码。从而达到压缩的目的。也可以使用其他的编码把内容搅乱或加密,以此来防止未授权的第三方看到文档的内容。

Accept-Encoding——浏览器发给服务器,声明浏览器(客户端)支持的编码类型。
当服务端接收到请求,并且从header里拿到编码标识时,就可以选择其中一种方式来进行编码压缩,然后返给客户端。

发现还有一个 header 字段 Content-Encoding 这个字段大概意思是:决定文件接收方将以什么形式、什么编码读取这个文件,指定服务器响应的 HTTP 内容类型。

一般来说:

  •         Accept-Encoding设置在请求头当中,会告诉服务器,我可以接受哪种编码压缩。
  •         Content-Encoding设置在响应头中,会告诉客户端,我用的是哪种编码压缩。但是也可以放在Header头上

看说了这么多我们也不懂啊,我们大概可以理解它的本质,这两个header头都会影响服务器对于数据内容的传输格式类型(压缩算法)。

大家也可以看看下这个文章
https://www.cnblogs.com/xuzhudong/p/8486761.html

尝试了一下,发现content-Encoding居然可以绕过


如果没找到真实IP,这样也是过不了的。


之后就可以直接上传了。但是后来发现该服务器的 disable_function 贼难绕,这是后话了。


0x04 总结

  •         通 过 host 碰 撞 找 到 真 实 IP 绕 过 云 waf(fofa 这 种 是 搜 不 到 真 实 IP 的)
  •         Content-Encoding=deflate 绕过本地防火墙内容检测,gzip也是能绕的




关注公众号回复“9527”可免费获取一套HTB靶场文档和视频,“1120”安全参考杂志电子版,“1208”个人常用高效爆破字典,“0221”2020年酒仙桥文章打包,“2191”9月1日前潇湘信安所有文章打包。



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2025-4-22 16:43 , Processed in 0.014021 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表