如何攻击Java Web应用
越来越多的企业采用Java语言构建企业Web应用程序,基于Java主流的框架和技术及可能存在的风险,成为被关注的重点。
本文从黑盒渗透的角度,总结下Java Web应用所知道的一些可能被利用的入侵点。

一、中间件漏洞
基于Java的Web项目部署会涉及一些中间件,一旦中间件配置不当或存在高危漏洞,就会严重影响到整个系统的安全。
1. Web中间件
Weblogic系列漏洞:
- 弱口令 && 后台getshell
- SSRF漏洞
- 反序列化RCE漏洞
Jboss系列漏洞:
- 未授权访问Getshell
- 反序列化RCE漏洞
Tomcat系列漏洞:
- 弱口令&&后台getshell
- Tomcat PUT方法任意写文件漏洞
Websphere系列漏洞:
- 弱口令&&后台getshell
- XXE漏洞
- 远程代码执行漏洞
Coldfusion系列漏洞:
- 文件读取漏洞
- 反序列化RCE漏洞
GlassFish系列漏洞:
- 弱口令&&后台getshell
- 任意文件读取漏洞
Resin系列漏洞:
- 弱口令&&后台getshell
- 任意文件读取漏洞
2. 缓存/消息/搜索/分布式中间件
Redis系列漏洞:
- 未授权访问getshell
- 主从复制RCE
ActiveMQ系列漏洞:
- ActiveMQ任意文件写入漏洞
- ActiveMQ反序列化漏洞
Kafka系列漏洞:
- 未授权访问漏洞
- 反序列化漏洞
Elasticsearch系列漏洞:
- 命令执行漏洞
- 写入webshell漏洞
ZooKeeper系列漏洞:
- 未授权访问漏洞
- 框架及组件漏洞
二、框架及组件漏洞
基于Java开发的Web应用,会使用到各种开发框架和第三方组件,而随着时间推移,这些框架和组件可能早已不再安全了。
1. 开发框架
Struts2 系列漏洞:
- S2-001 到 S2-061漏洞
- 安全公告:https://cwiki.apache.org/confluence/display/WW/Security+Bulletins
Spring 系列漏洞:
- Spring Security OAuth2远程命令执行漏洞
- Spring WebFlow远程代码执行漏洞
- Spring Data Rest远程命令执行漏洞
- Spring Messaging远程命令执行漏洞
- Spring Data Commons远程命令执行漏洞
SpringCloud 系列漏洞:
- Spring Boot Actuator 未授权访问
- Springt Boot 相关漏洞:https://github.com/LandGrey/SpringBootVulExploit
Dubbo 系列漏洞:
- Dubbo 反序列化漏洞
- Dubbo 远程代码执行漏洞
2. 第三方组件
Shiro 系列漏洞:
- Shiro 默认密钥致命令执行漏洞
- Shiro rememberMe 反序列化漏洞(Shiro-550)
- Shiro Padding Oracle Attack(Shiro-721)
Fastjson 系列漏洞:
- Fastjson反序列化RCE
- Fastjson远程命令执行
Jackson系列漏洞:
- 反序列化RCE漏洞
Solr系列漏洞:
- XML实体注入漏洞
- 文件读取与SSRF漏洞
- 远程命令执行漏洞
JWT漏洞:
- 敏感信息泄露
- 伪造token
- 暴力破解密钥
3. API 接口漏洞
基于前后端分离的开发模式,都需要通过调用后端提供的接口来进行业务交互,api接口安全测试是一项非常重要的任务。
API Security:
- OWASP API Security-Top 10:https://owasp.org/www-project-api-security/
- API-Security-Checklist:https://github.com/shieldfy/API-Security-Checklist/
常见API相关漏洞:
- 逻辑越权
- 信息泄露
- 接口滥用
- 输入输出控制
- 安全错误配置
如何攻击Java Web应用的更多相关文章
- ref:一种新的攻击方法——Java Web表达式注入
ref:https://blog.csdn.net/kk_gods/article/details/51840683 一种新的攻击方法——Java Web表达式注入 2016年07月06日 17:01 ...
- Java Web使用过滤器防止Xss攻击,解决Xss漏洞
转: Java Web使用过滤器防止Xss攻击,解决Xss漏洞 2018年11月11日 10:41:27 我欲乘风,直上九天 阅读数:2687 版权声明:本文为博主原创文章,转载请注明出处!有时候 ...
- kpvalidate开辟验证组件,通用Java Web请求服务器端数据验证组件
小菜利用工作之余编写了一款Java小插件,主要是用来验证Web请求的数据,是在服务器端进行验证,不是简单的浏览器端验证. 小菜编写的仅仅是一款非常初级的组件而已,但小菜为它写了详细的说明文档. 简单介 ...
- java web sql注入测试(1)---概念概述
在进行java web 测试时,经常会忽略的测试种类就是sql注入测试,这类缺陷造成的原因是开发技术在这方面欠缺的表现,虽然不常见,但一旦有这类缺陷,就很因此对运营的数据造成很多不必要的损失,所以,还 ...
- Java Web表达式注入
原文:http://netsecurity.51cto.com/art/201407/444548.htm 0×00 引言 在2014年6月18日@终极修炼师曾发布这样一条微博: 链接的内容是一个名为 ...
- Java Web开发 - 持久型/存储型XSS漏洞
Java Web开发 - 持久型/存储型XSS漏洞 1.什么是XSS漏洞攻击? XSS是跨站脚本攻击(Cross Site Scripting)的简称,之所以叫XSS而不是CSS相比大家都能明白了吧, ...
- Java Web安全之程序逻辑缺陷
Java Web程序逻辑缺陷本质是由于程序设计和开发者设计的程序执行逻辑存在某种缺陷而导致的安全隐患.企业的代码审查和渗透测试通常主要针对的大多是诸如xss攻击和sql注入和跨站点脚本这些头条式漏洞, ...
- java Web工程师面试题集绵
一.Java 基础 1.JDK .JRE 和JVM关系是什么? 答:A. JDK(Java Development Kit)即Java开发工具包,包含编写Java程序所必须的编译.运行等开发工具以及J ...
- Java Web 学习与总结(三)会话跟踪
何为会话跟踪?举个简单的例子,比如登陆到某购物网站后,在一定时间内无论你在这个网站中切换到任意的网页,只要不执行退出操作,一直保持着你账号的登录状态. 那么在Java Web中我们应当如何去实现这一操 ...
随机推荐
- Web的工作原理(二)
1.工作过程:如下图所示描述了Web的工作原理. (1) 用户打开计算机(客户机),启动浏览器程序,并在浏览器中指定一个URL(Uniform Resource Locator,统一资源定位器),浏览 ...
- 7.29考试总结(NOIP模拟27)[牛半仙的妹子图·Tree·序列]
前言 从思路上来讲是比较成功的,从分数上就比较令人失望了. 考场上是想到了前两个题的正解思路,其实最后一个题是半个原题,只可惜是我看不懂题... 这波呀,这波又是 语文素养限制OI水平.. 改题的时候 ...
- Mac OS系统安装pymssql 报错
Mac OS系统安装pymssql 一开始报错:缺少Cython,于是pip install Cython 然后还是报错:解决办法如下操作: 首先安装freetds 在 FreeTDS stable ...
- 【系统学习ES6】第一节:新的声明方式
[系统学习ES6] 本专题旨在对ES6的常用技术点进行系统性梳理,帮助大家对其有更好的掌握.计划每周更新1-2篇,希望大家有所收获. 以前用ES5时,声明变量只能用var.ES6的出现,为我们带来了两 ...
- 手把手教windows上安装linux虚拟机及环境配置
目录 版本说明 安装虚拟机 典型方式安装(推荐小白,带有图形界面,助于学习,但占用空间大) 自定义方式安装(推荐老司机) 创建快照 克隆虚拟机 windows上安装linux虚拟机不管是对于新人还是老 ...
- Node.js躬行记(7)——定时任务的进化史
一.纯手工 公司主营的是直播业务,会很许多打榜活动,也就是按主播收到的礼物或收益进行排序,排在前面的会有相应奖励. 纯手工时代,每接到一个活动,就重新写一份,第一次写完.之后就是复制黏贴,再修改,每次 ...
- Java中9种常见的CMS GC问题分析与解决
1. 写在前面 | 本文主要针对 Hotspot VM 中"CMS + ParNew"组合的一些使用场景进行总结.重点通过部分源码对根因进行分析以及对排查方法进行总结,排查过程会省 ...
- 终于彻底搞清楚了spin-lock 之一次CPU问题定位过程总结
首先这个问题,我只是其中参与者之一.但这个问题很有参考意义,特记录下来. 还有我第一次用"彻底"这个词,不知道会不会有人喷?其实,还有一些问题,也不是特别清楚.比如说什么是CPU流 ...
- Kali2搭建Metasploitable3靶机
Metasploitable3简介 Metasploitable3是Metasploitable2的升级版本,它是一个虚拟靶机系统,里面含有大量未被修复的安全漏洞,它主要是用于metasploit-f ...
- Python3中的字符串相关操作
Python3的字符串操作相关函数详解 字符串内建函数 1. capitalize() 将字符串中的第一个字符转换成大写,其他字母变成小写.例: >>> "hello Wo ...