记一次JS到WAF绕过上传

一、前言

某渗透项目中和队友配合挖到一个通用系统漏洞,主要对JS接口进行分析,经历一波绕waf的曲折最终getshell,文笔粗劣,大佬勿喷。

二、JS分析

在看到某系统仅仅一个登陆框,一波弱口令尝试和目录扫描,啥也没有。

队友通过JS分析发现大量接口,主要是跟着师傅的思路走一遍,不得不说如果没有这个JS接口基本很难有啥成果了(状态码带200的都是可访问的接口文件,这里有一个坑点,后面讲)

对每一个接口进行访问测试,期间发现如SQL注入漏洞,文件读取等,举例

对其进行解码,本质就是读取一个盘符的文件,修改为其他文件即可实现任意文件读取

由于是通用,按理说其他系统接口也存在,但奇怪的是,一访问接口,就跳转到404或者登陆框,一度认为漏洞难道已修复,有不同的版本

但经过实际测试,发现某些系统单独访问接口虽然是404,但漏洞依然存在,也是醉了(目前不清楚啥原因,不得不说 不能被表面现象所迷惑 还是一个一个测试最稳)

在测试另一个系统的时候,发现没有那么一帆风顺,遇到了waf,只能硬刚了,该上传接口也是前面JS分析得知,直接访问就出现页面了。

虽然有上传功能点,但点击上传是没有啥用的,直接F12,看看上传表单,自行构造就行

上传普通的txt文件,一切顺利,且返回具体的路径,访问也一切正常(相信师傅们也注意到有一个location跳转到登陆,但从返回包可以看到的确存在文件上传漏洞)

开始上传aspx,直接被重置

三、Bypass上传getshell

经过一番折腾,最终用以下方法可以bypass

Content-Disposition: form-data; name="file"; filename="aaaaaa.txt"
Content-Disposition: form-data; name="file"; filename="aaaaa.aspx"

多个filename=也可bypass

解决了后缀问题,尝试内容绕过,默认的webshell直接被重置,使用py脚本先生成大量的字符,用来填充

前后不断填充字符来绕

最终成功getshell

查查杀软情况

最后感谢团队师傅(@cl)的指导和帮助,总结下来测试还是得仔细,慢慢来。

文章来源:记一次JS到WAF绕过上传 - 先知社区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值