【网络安全】Spring框架漏洞总结(一)

本文介绍了Spring框架的SpEL(Spring Expression Language)及其带来的安全风险,详细讲解了Spring Security OAuth2远程命令执行漏洞(CVE-2016-4977),包括漏洞简介、影响版本、验证和复现过程。此外,还提供了本地环境的IDEA安装步骤,帮助读者理解Spring框架的安全特性。
摘要由CSDN通过智能技术生成

Spring简介

Spring是Java EE编程领域的一个轻量级开源框架,该框架由一个叫Rod Johnson的程序员在2002年最早提出并随后创建,是为了解决企业级编程开发中的复杂性,业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用,实现敏捷开发的应用型框架。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为J2EE应用程序开发提供集成的框架。

2009年9月Spring 3.0 RC1发布后,Spring就引入了SpEL (Spring Expression Language)。类比Struts2框架,会发现绝大部分的安全漏洞都和OGNL脱不了干系。尤其是远程命令执行漏洞,这导致Struts2越来越不受待见。

因此,Spring引入SpEL必然增加安全风险。事实上,过去多个Spring CVE都与其相关,如CVE-2017-8039、CVE-2017-4971、CVE-2016-5007、CVE-2016-4977等。

SpEL是什么

SpEL(Spring Expression Language)是基于spring的一个表达式语言,类似于struts的OGNL,能够在运行时动态执行一些运算甚至一些指令,类似于Java的反射功能。就使用方法上来看,一共分为三类,分别是直接在注解中使用,在XML文件中使用和直接在代码块中使用。

SpEL原理如下∶

1.表达式:可以认为就是传入的字符串内容2.解析器︰将字符串解析为表达式内容3.上下文:表达式对象执行的环境4.根对象和活动上下文对象∶根对象是默认的活动上下文对象,活动上下文对象表示了当前表达式操作的对象Spring框架特征

1.看web应用程序的ico小图标,是一个小绿叶子

2.看报错页面,如果默认报错页面没有修复,那就是长这样

3.wappalyzer插件识别

4.f12看X-Application-Context头

本地环境搭建

安装IDEA

官网下载安装包 :www.jetbrains.com/idea/downlo…

这里选择得商业版,免费试用30天

安装目录默认

报错不用管,点击确认,一直默认下一步

双击下图图标

选择Download SDK

选择jdk1.8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值