如何攻击Java Web应用

  • A+
所属分类:安全文章

越来越多的企业采用Java语言构建企业Web应用程序,基于Java主流的框架和技术及可能存在的风险,成为被关注的重点。

本文从黑盒渗透的角度,总结下Java Web应用所知道的一些可能被利用的入侵点。

如何攻击Java Web应用


1、中间件漏洞

基于Java的Web项目部署会涉及一些中间件,一旦中间件配置不当或存在高危漏洞,就会严重影响到整个系统的安全。

1.1 Web中间件

Weblogic系列漏洞

弱口令 && 后台getshellSSRF漏洞反序列化RCE漏洞

Jboss系列漏洞

未授权访问Getshell反序列化RCE漏洞

Tomcat系列漏洞

弱口令&&后台getshellTomcat PUT方法任意写文件漏洞

Websphere系列漏洞

弱口令&&后台getshellXXE漏洞远程代码执行漏洞

Coldfusion系列漏洞

文件读取漏洞反序列化RCE漏洞

GlassFish系列漏洞

弱口令&&后台getshell任意文件读取漏洞

Resin系列漏洞

弱口令&&后台getshell任意文件读取漏洞

1.2 缓存/消息/搜索/分布式中间件

Redis系列漏洞

未授权访问getshell主从复制RCE

ActiveMQ系列漏洞

ActiveMQ任意文件写入漏洞ActiveMQ反序列化漏洞

Kafka系列漏洞

未授权访问漏洞反序列化漏洞

Elasticsearch系列漏洞

命令执行漏洞写入webshell漏洞

ZooKeeper系列漏洞

未授权访问漏洞框架及组件漏洞

2、框架及组件漏洞

基于Java开发的Web应用,会使用到各种开发框架和第三方组件,而随着时间推移,这些框架和组件可能早已不再安全了。

2.1 开发框架

2.1.1 Struts2 系列漏洞

S2-001 到 S2-061漏洞安全公告:https://cwiki.apache.org/confluence/display/WW/Security+Bulletins

2.1.2 Spring 系列漏洞

Spring Security OAuth2远程命令执行漏洞Spring WebFlow远程代码执行漏洞Spring Data Rest远程命令执行漏洞Spring Messaging远程命令执行漏洞Spring Data Commons远程命令执行漏洞

2.1.3 SpringCloud 系列漏洞

Spring Boot Actuator 未授权访问Springt Boot 相关漏洞:https://github.com/LandGrey/SpringBootVulExploit

2.1.4 Dubbo 系列漏洞

Dubbo 反序列化漏洞Dubbo 远程代码执行漏洞

2.2、第三方组件

2.2.1 Shiro 系列漏洞

Shiro 默认密钥致命令执行漏洞Shiro rememberMe 反序列化漏洞(Shiro-550)Shiro Padding Oracle Attack(Shiro-721)

2.2.2 Fastjson 系列漏洞

Fastjson反序列化RCEFastjson远程命令执行

2.2.3 Jackson系列漏洞

反序列化RCE漏洞

2.2.4 Solr系列漏洞

XML实体注入漏洞文件读取与SSRF漏洞远程命令执行漏洞

2.2.5 JWT漏洞

敏感信息泄露伪造token暴力破解密钥

3、API 接口漏洞

基于前后端分离的开发模式,都需要通过调用后端提供的接口来进行业务交互,api接口安全测试是一项非常重要的任务。

3.1 API Security

OWASP API Security-Top 10https://owasp.org/www-project-api-security/API-Security-Checklist:https://github.com/shieldfy/API-Security-Checklist/

3.2 常见API相关漏洞

逻辑越权信息泄露接口滥用输入输出控制安全错误配置

本文始发于微信公众号(Bypass):如何攻击Java Web应用

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: