Often Misused:Spring Remote Service 经常被误用:Spring远程服务
Abstract:
在 remoting-servlet.xml 文件的第 11 行,应用程序会以远程服务的形式暴露 spring bean。默认情况下,这些远程服务不要求身份验证,也不要求进出该服务器的信息必须是明文形式。这就使攻击者有机会访问需要特定权限的操作或者获取敏感数据。
Explanation:
Spring 提供了一种简单的机制,可用于将任何 Spring 托管的 bean 转换为可通过 RMI、HTTP、Burlap、Hessian 和 JMX 等协议暴露给外部的对象。远程 Spring bean 的任何公共方法都支持外部调用,而且客户端与远程对象之间传递的数据都是明文形式。这些服务存在的主要问题是,它们在默认情况下是开放的,而且本身不提供任何保密性或完整性保证。
Instance ID: 4E7FC6F04FA823055FE285DE76442C91
Priority Metadata Values:
IMPACT: 2.5
LIKELIHOOD: 2.5
Legacy Priority Metadata Values:
SEVERITY: 3.0
CONFIDENCE: 5.0
Remediation Effort: 3.0
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Recommendations:
利用 Spring Security 和 SSL 提供 authentication、授权、保密性和完整性。
Tips:
1. 确保使用 Spring Security 或某种其他机制为远程服务提供 authentication、授权、保密性和完整性。
References:
[1] Anirvan Chakraborty , Jessica Ditt , Aleksa Vukotic , Jan Machacek, ProSpring 2.5, 2008
[2] Gary Mak , Daniel Rubio , Josh Long, Spring Recipes, 2010
[3] Standards Mapping - NIST Special Publication 800-53 Revision 4, SC-8 Transmission Confidentiality and Integrity (P1)
[4] Standards Mapping - OWASP Mobile Top 10 Risks 2014, M5 Poor Authorization and Authentication
[5] Standards Mapping - OWASP Top 10 2013, A5 Security Misconfiguration
[6] Standards Mapping - Payment Card Industry Data Security Standard Version 1.1, Requirement 6.5.1, Requirement 6.5.10
[7] Standards Mapping - Payment Card Industry Data Security Standard Version 1.2, Requirement 6.5.4, Requirement 6.5.9
[8] Standards Mapping - Payment Card Industry Data Security Standard Version 2.0, Requirement 6.5.4, Requirement 6.5.8
[9] Standards Mapping - Payment Card Industry Data Security Standard Version 3.0, Requirement 6.5.4, Requirement 6.5.8
[10] Standards Mapping - Payment Card Industry Data Security Standard Version 3.1, Requirement 6.5.4, Requirement 6.5.8
[11] Standards Mapping - Payment Card Industry Data Security Standard Version 3.2, Requirement 6.5.4, Requirement 6.5.8
[12] Standards Mapping - Security Technical Implementation Guide Version 3.1, APP3260.1 CAT II
[13] Standards Mapping - Security Technical Implementation Guide Version 3.10, APP3260 CAT II
[14] Standards Mapping - Security Technical Implementation Guide Version 3.4, APP3260 CAT II
[15] Standards Mapping - Security Technical Implementation Guide Version 3.5, APP3260 CAT II
[16] Standards Mapping - Security Technical Implementation Guide Version 3.6, APP3260 CAT II
[17] Standards Mapping - Security Technical Implementation Guide Version 3.7, APP3260 CAT II
[18] Standards Mapping - Security Technical Implementation Guide Version 3.9, APP3260 CAT II
[19] Standards Mapping - Security Technical Implementation Guide Version 4.1, APSC-DV-000460 CAT I, APSC-DV-000470 CAT II, APSC-DV-001870 CAT II, APSC-DV-002360 CAT II
[20] Standards Mapping - Web Application Security Consortium 24 + 2, Insufficient Authorization
[21] Standards Mapping - Web Application Security Consortium Version 2.00, Insufficient Authorization (WASC-02)


【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
2018-11-15 Jetty,Tomcat对MIME协议的配置参数说明
2017-11-15 IDEA避免JAVA文件自动引入import.*包