墨云安全研究员在今年2月份发现某OA未授权SQL注入漏洞,厂商于04月18日已发布漏洞补丁,本文将针对该漏洞进行分析与验证。

某OA的CheckServer.jsp文件默认是可以未授权访问的,CheckServer.jsp文件没有对用户输入的settings参数数据进行充分的验证和过滤,导致攻击者可以通过构造恶意的 SQL 语句来绕过应用程序的安全措施,从而对数据库进行非法操作。

漏洞分析

首先进入到CheckServer.jsp文件里面看下整个漏洞的调用过程。
image-1687317413966
当type的值是mobileSetting的时候会进入到PluginServiceImpl.syncMobileSetting方法里。
image-1687317425170
在syncMobileSetting方法里首先会对settings参数转成json数组,然后会调用当前类的saveMobileDocSetting方法。
image-1687317436378
在saveMobileDocSetting方法里对setting参数做了一次URL解码操作,然后把值拼接到sql语句当中,由此产生了SQL注入漏洞。

漏洞验证图

image-1687317452653

修复建议

1.2023-04-18 厂商已提供漏洞修补方案,请访问厂商官网按照升级说明升级系统的补丁。

2.加入厂商提供的安全保障,厂商会自动检测您系统的安全状况,如果发现系统有漏洞,会及时报告并修复漏洞,保障系统处于安全的状态。