记一次JS到WAF绕过上传

admin 2024年7月29日16:23:37评论16 views字数 968阅读3分13秒阅读模式

原文首发先知社区 

https://xz.aliyun.com/t/15142

一、前言

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

二、JS分析

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

记一次JS到WAF绕过上传

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

记一次JS到WAF绕过上传

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

记一次JS到WAF绕过上传

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

记一次JS到WAF绕过上传

记一次JS到WAF绕过上传

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

记一次JS到WAF绕过上传

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

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

记一次JS到WAF绕过上传

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

记一次JS到WAF绕过上传

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

记一次JS到WAF绕过上传

记一次JS到WAF绕过上传

开始上传aspx,直接被重置

记一次JS到WAF绕过上传

三、Bypass上传getshell

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

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

记一次JS到WAF绕过上传

多个filename=也可bypass

记一次JS到WAF绕过上传

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

记一次JS到WAF绕过上传

记一次JS到WAF绕过上传

前后不断填充字符来绕

记一次JS到WAF绕过上传

记一次JS到WAF绕过上传

最终成功getshell

记一次JS到WAF绕过上传

记一次JS到WAF绕过上传

查查杀软情况

记一次JS到WAF绕过上传

记一次JS到WAF绕过上传

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

原文始发于微信公众号(弱口令验证机器人):记一次JS到WAF绕过上传

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年7月29日16:23:37
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次JS到WAF绕过上传https://cn-sec.com/archives/3007863.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息