代码审计 | 某系统存在文件上传漏洞

admin 2025年3月10日23:12:25评论0 views字数 660阅读2分12秒阅读模式

该漏洞与上一篇文章是同一个系统,因为时间不充裕一直没写,该漏洞主要是黑名单文件上传绕过,审计难度较为简单。

一、漏洞挖掘

挖掘流程:先黑盒找到文件上传功能,直接上传jsp文件。

代码审计 | 某系统存在文件上传漏洞

保存后显示文件上传成功,但并没有回显文件上传返回的路径,为空,判断八成是后端有过滤。

代码审计 | 某系统存在文件上传漏洞
代码审计 | 某系统存在文件上传漏洞

根据文件上传的接口去代码寻找对应的逻辑。

代码审计 | 某系统存在文件上传漏洞

二、漏洞审计

根据接口找到对应代码

代码审计 | 某系统存在文件上传漏洞

代码审计 | 某系统存在文件上传漏洞

跟进去getFile方法

代码审计 | 某系统存在文件上传漏洞

不断跟进,最后跟到了wrapMultipartRequest方法。

该方法就是执行了文件上传操作:multipartRequest = new  com.oreilly.servlet.MultipartRequest(request, uploadPath, maxPostSize, encoding, fileRenamePolicy);

代码审计 | 某系统存在文件上传漏洞

其中isSafeFile就是检验了文件后缀

代码审计 | 某系统存在文件上传漏洞

isSafeFile是黑名单检验

代码审计 | 某系统存在文件上传漏洞

这段代码是先上传,再检验的,而且文件名没有重写,存在目录穿越漏洞,还可能存在文件上传条件竞争漏洞,而且是黑名单检验,在windows中可以通过::$DATA继续黑名单绕过。

三、漏洞复现

在上传的文件名后缀添加::$DATA进行绕过

代码审计 | 某系统存在文件上传漏洞

根据断点调试获取文件上传的路径。

代码审计 | 某系统存在文件上传漏洞

查看文件上传路径,文件是成功上传的

代码审计 | 某系统存在文件上传漏洞

访问url:http://xxxx/xxxx/upload/xxx/bbs/tmp/22.jsp;jsp文件成功解析执行(jsp后加;是绕过访问URL黑名单后缀检测,具体原因可以看上一篇文章有讲解)

代码审计 | 某系统存在文件上传漏洞

 

原文始发于微信公众号(不秃头的安全):代码审计 | 某系统存在文件上传漏洞

 

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

发表评论

匿名网友 填写信息