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

渗透技巧 1个月前 admin
111 0 0

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

一、漏洞挖掘

挖掘流程:先黑盒找到文件上传功能,直接上传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黑名单后缀检测,具体原因可以看上一篇文章有讲解)

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

原文始发于微信公众号(有恒安全):【代码审计】某系统存在文件上传漏洞

版权声明:admin 发表于 2024年8月17日 下午12:04。
转载请注明:【代码审计】某系统存在文件上传漏洞 | CTF导航

相关文章