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)
 
 
 
 
 

Often Misused:Spring Remote Service 经常被误用:Spring远程服务的更多相关文章

  1. 测试必须学spring RESTful Service(上)

    文末我会说说为什么测试必须学spring. REST REST,是指REpresentational State Transfer,有个精辟的解释什么是RESTful, 看url就知道要什么 看met ...

  2. Binder机制,从Java到C (1. IPC in Application Remote Service)

    转载请标注:张小燕:http://www.cnblogs.com/zhangxinyan 1. Application 中的 service 我们知道Android中Service有三种类型:Loca ...

  3. RpcException:No provider available for remote service异常

    出现RpcException:No provider available for remote service异常,表示没有可用的服务提供者. 解决思路: 1.检查连接的注册中心是否正确 2.到注册中 ...

  4. 【Spring】Service 注入失败,空指针

    service层的类都有用@Service标识,但报空指针,注入失败,很可能是因为spring的application配置和springmvc的配置文件配置错误,导致容器冲突了. spring和spr ...

  5. 整合Spring时Service层为什么不做全局包扫描详解

    合Spring时Service层为什么不做全局包扫描详解 一.Spring和SpringMVC的父子容器关系 1.讲问题之前要先明白一个关系 一般来说,我们在整合Spring和SpringMVC这两个 ...

  6. spring盒springMVC整合父子容器问题:整合Spring时Service层为什么不做全局包扫描详解

    整合Spring时Service层为什么不做全局包扫描详解 一.Spring和SpringMVC的父子容器关系 1.讲问题之前要先明白一个关系 一般来说,我们在整合Spring和SpringMVC这两 ...

  7. Spring Cloud官方文档中文版-Spring Cloud Config(下)-客户端等

    官方文档地址为:http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#_serving_alternative_formats 文中例子我做了 ...

  8. spring框架篇(一)-------spring简介与配置文件使用控制反转事例

    spring简介 Spring 是一个开源框架,中文意思就是春天,也许是作者想让自己的这个框架给Java开发人员带来春天吧.其官方网站是 https://spring.io/ ,可以在官方网站下载到完 ...

  9. Quick Guide to Microservices with Spring Boot 2.0, Eureka and Spring Cloud

    https://piotrminkowski.wordpress.com/2018/04/26/quick-guide-to-microservices-with-spring-boot-2-0-eu ...

随机推荐

  1. MySql简单的增删改查语句 js

    最近在项目中需要连接数据库,做增删改查的功能,sql语句整理做了以下记录(基于NodeJs,注:data为你的真实数据): (一)新增插入表中数据: sql: 'insert into work(表名 ...

  2. 在Spring Boot中添加全局异常捕捉提示

    在一个项目中的异常我们我们都会统一进行处理的,那么如何进行统一进行处理呢? 全局异常捕捉: 新建一个类GlobalDefaultExceptionHandler, 在class注解上@Controll ...

  3. Authentication 接口验证访问 (C#)

    private HttpClient _httpClient = new HttpClient(); private string PostToOwner(CarOwnerCoupon postDat ...

  4. Flask框架flash消息闪现学习与优化符合闪现之名

    Flask的flash 第一次知道Flask有flash这个功能时,听这名字就觉得高端,消息闪现-是跳刀blink闪烁躲技能的top10操作吗?可结果让我好失望,哪里有什么闪现的效果,不过是平常的消息 ...

  5. MongoDB一次节点宕机引发的思考(源码剖析)【华为云分享】

    目录 简介 日志分析 副本集 如何实现 Failover 心跳的实现 electionTimeout 定时器 业务影响评估 参考链接 声明:本文同步发表于 MongoDB 中文社区,传送门:http: ...

  6. C#DateTime格式转换全介绍

    DateTime与字符串转换: DateTime()与转换为字符串主要依靠DateTime().ToString(string format) 函数,以我的理解,参数format大体分为单个字母和多个 ...

  7. JNI用法小例子

    一.准备包含本地方法的.java文件(ContentVideo.java),包括set()和get()两个方法. public class ContentVideo { public native s ...

  8. iOS库的种类

    一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 二.静态库与动态库的区别? 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复制,程序运行时由系 ...

  9. Python获取 bing 地图发布自己的 TMS 服务(二)解决海量瓦片存取问题

    金字塔结构的瓦片数量有多大 以目前互联网常用的WebMecator为例 第一层:4幅256*256影像瓦片(JPG或PNG等) 第二层:42 第三层:43 依次类推比如计算第1层至第18层的瓦片总数目 ...

  10. 【系列专题】JavaScript 重温系列(22篇全)

    JavaScript 初级篇 [JS]120-重温基础:语法和数据类型 [JS]121-重温基础:流程控制和错误处理 [JS]122-重温基础:循环和迭代 [JS]123-重温基础:函数 [JS]12 ...