JAVA攻防-专题漏洞SPEL表达式SSTI模版Swagger接口Actuator泄露Spring特检
知识点:
1.Java攻防-专题漏洞-SSTI注入&SPEL表达式
2.Java攻防-专题漏洞-SpringBoot框架安全
复现靶场:
https://github.com/j3ers3/Hello-Java-Sec
一、演示案例-Java攻防-专题漏洞-SSTI注入&SPEL注入
SSTI模版注入
SSTI(Server Side Template Injection) 服务器模板注入, 服务端接收了用户的输入,将其作为 Web 应用模板内容的一部分,在进行目标编译渲染的过程中,执行了用户插入的恶意内容。
1、Thymeleaf




2、Freemarker


3、Velocity
4、其他语言参考
https://www.cnblogs.com/bmjoker/p/13508538.html
SPEL表达式注入
SpEL(Spring Expression Language)表达式注入,java独有漏洞,是一种功能强大的表达式语言、用于在运行时查询和操作对象图,由于未对参数做过滤可造成任意命令执行。
前提满足条件:
SpelExpressionParser:SpEL 的"大脑",负责理解表达式语法。
parseExpression:具体的"理解过程",把字符串变成可执行指令。
StandardEvaluationContext:是 SpEL 的"上帝模式",提供完整的Java执行能力。
1、Spring表达式



2、Spring反射绕过(黑名单过滤)



二、演示案例-Java攻防-专题漏洞-Spring Boot框架安全
Swagger UI API框架接口泄露
Swagger是一种用于描述API的开源框架。Swagger接口泄露漏洞是指在使用Swagger描述API时,由于未正确配置访问控制或未实施安全措施,导致API接口被不授权的人员访问和利用,从而导致系统安全风险。
简单来说就是用来调试接口用的,在WEB页面进行调试,一般会搭配SpringBoot框架。


攻击者角度:
发现swagger页面找到利用口::SpringBoot扫描器
利用swagger页面中的接口获取漏洞:手工或工具自动化(Apifox)















SpringBoot框架
发现springboot框架:页面图标和页面内容


利用springboot框架漏洞点:Actuator 泄露、CVE等漏洞
1、框架专扫
https://gitee.com/team-man/spring-scan //谷歌浏览器插件



https://github.com/sule01u/SBSCAN

https://github.com/wh1t3zer/SpringBootVul-GUI
2、Actuator 泄露
SpringBoot Actuator模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP跟踪等,帮助我们监控和管理Spring Boot应用。
发现Actuator页面找到利用口:SpringBoot扫描器
利用Actuator页面中的接口获取漏洞:如Heapdump泄露等


Heapdump利用:
分析提取出敏感信息(配置帐号密码,接口信息 数据库 短信 云应用等配置)
自动化JDumpSpider提取器:https://github.com/whwlsfb/JDumpSpider



半自动化heapdump_tool提取器:https://github.com/wyzxxz/heapdump_tool


JDumpSpiderGUI提取器:https://github.com/DeEpinGh0st/JDumpSpiderGUI

3、druid、jolokia、gateway等安全问题



