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. 源码分析 RocketMQ DLedger 多副本存储实现

    目录 1.DLedger 存储相关类图 1.1 DLedgerStore 1.2 DLedgerMemoryStore 1.3 DLedgerMmapFileStore 2.DLedger 存储 对标 ...

  2. hibernate查询方式(三)

    QBC查询 (Query By Criteria) *****QBC查询有三个特点 **查询时不写sql语句 而是用方法来查询 **操作实体类和属性 **通过criteria对象来实现 1.查询所有 ...

  3. Java修炼——容器HashMap用法

    直接上代码,容器集合之间的关系在后面我会继续详细分析,这次先看HashMap用法 HashMap的方法都在代码中有解释.有需要的可以仔细看看 package com.bjsxt.map; import ...

  4. 使用 Zookeeper 的 Api 实现服务订阅

    服务提供者 服务提供者中拷贝 Constants 服务提供者中拷贝 UserService 连接 Zk 集群 /*** * 连接ZooKeeper集群 */ public ZooKeeper conn ...

  5. I_want_all 2019训练记录

    Team members StarHai binarycopycode Fly_White Caution 读题 数组第一维的访问速度比其他维速度快. 清空数组 乘法运算取模里面涉及到减法注意变为负数 ...

  6. UVA-11107 Life Forms(求出现K次的子串,后缀数组+二分答案)

    题解: 题意: 输入n个DNA序列,你的任务是求出一个长度最大的字符串,使得它在超过一半的DNA序列中出现.如果有多解,按照字典序从小到大输入所有解. 把n个DNA序列拼在一起,中间用没有出现过的字符 ...

  7. intellij idea使用tomcat maven plugin

    环境 java 1.8.0_111 tomcat tomcat-8.5.11 maven 3.2.5 intellij idea 14.0.3 命令行使用 建maven工程 mvn archetype ...

  8. luogu1337 [JSOI2004]平衡点 / 吊打XXX(模拟退火)

    推荐博客:模拟退火总结(模拟退火)by FlashHu.模拟退火的原理,差不多就是不断地由现有的值不断地试探,不断地转到更优的值,并在一定概率下转到较差的值. 题目传送门:luogu1337 [JSO ...

  9. Linux 的目录结构

    原文内容来自于LZ(楼主)的印象笔记,如出现排版异常或图片丢失等问题,可查看当前链接:https://app.yinxiang.com/shard/s17/nl/19391737/cbbf47b0-f ...

  10. 一种分片更新ubi卷的方式(基于ubiupdatevol,拓展fifo支持)

    ubi卷的更新方式 对于ubi卷,不能像普通块设备一样进行随机读写.每次更新需要从头写入. 具体的,需要在打开对应的设备之后,先执行一个ioctl UBI_IOCVOLUP,同时传入要更新的数据大小. ...