上传文件的漏洞复现与修复

Posted 可持续化发展

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了上传文件的漏洞复现与修复相关的知识,希望对你有一定的参考价值。

本文只说一些我遇到过的上传文件的漏洞。毕竟漏洞太多,我又不可能全部发现。

(安全方面的小菜鸟)

可能你们的系统比较完善,针对这些漏洞,已有相应的防御手段。我们针对的是那种比较简单的系统(就是各位上大学时自己开发的小系统,哈哈哈)。

利用漏洞的具体效果,就不演示了。本文只是提供一些思路和方向。

工具:我装了kali,使用 burpsuite;Linux环境下的VirtualBox

要配一下,burpsuite的 proxy-->options

自己去哔哩哔哩找一下资料了解一下burpsuite的使用。

漏洞一:直接上传jsp、php、jspx、exe等这种在黑名单的文件。上传成功后,可以使用冰蝎等webshell工具去getshell

        如果系统没有对上传文件进行检测的话,直接上传这种带恶意代码的文件,再利用webshell的工具,就可以进入系统后台了。然后就可以做一些危险的事情:删除文件。

漏洞二:系统有个功能,编辑文件内容。写入新的内容后,点击提交,能修改文件内容。

        我们可以写入恶意代码,然后用burpsuite 抓包,修改文件名。

 

 点击放行。

漏洞三:系统中上传压缩包。上传成功后,系统会自动解压压缩包。这时,我们可以搞很多层深度的文件夹的压缩包(文件夹里有10000000层深度的文件夹);压缩包里有10000000000个文件;在压缩包中放非法文件(jsp/jspx/php等);上传的文件特别大(10G)

漏洞四:通过更改文件名后缀来绕过前端检测

.jspx改为 .html或者 .jpg 

然后上传,用burpsuite抓包,再修改文件名后缀。

 漏洞五:在图片中加入恶意代码,用文本编辑器打开,写东西

漏洞六:删除文件时,用burpsuite抓包,然后加一些特殊字符来删除任意文件

将"path":"/def.xml" 的文件修改为 "path":"../../../../../../XXXXX"

后面系统中会拼接出这样的路径(在生成File对象时用到的),

  

如果在/home/zcm目录下,恰好有 def.xml。

那么,就可以删除/home/zcm目录下的 def.xml。

"/home/zcm/workspace/git/DKEYAM/target/var/portal/realm/848e34b1-4829-4cdf-ac26-3afc7108cf81/login/mobile/../../../../../../../../../../def.xml"

如果将realm 改为 portal/文件夹中 一个不存在的文件夹名字,比如 no,就找不到了。

即"/home/zcm/workspace/git/DKEYAM/target/var/portal/realm/848e34b1-4829-4cdf-ac26-3afc7108cf81/login/mobile/../../../../../../../../../../def.xml"   这个路径中的每一部分都要存在。

 

 

防御手段:

因为是公司的代码,就不方便贴出来。就提示一些jar包吧。你们去查一下对应jar包的对应的类,有哪些方法,基本应该能搞定的。

1、对于压缩包,要检测文件夹的深度、里面的文件数量、压缩包大小。

解压前先 遍历一波文件

解压后,

删除解压出来的临时文件。

以上是关于上传文件的漏洞复现与修复的主要内容,如果未能解决你的问题,请参考以下文章

漏洞复现Weblogic 任意文件上传漏洞

漏洞复现Weblogic 任意文件上传漏洞

VMware vCenter Server任意文件上传漏洞(CVE-2021-22005)复现

极致CMS两处漏洞复现/存储xss/文件上传Getshell

tomcat漏洞挖掘之暴力破解和任意文件上传

tomcat漏洞挖掘之暴力破解和任意文件上传