• 2024-05-09Mybatis if判断中使用了Ognl关键字导致报错解决方法
    mybatisxml中使用OGNL解析参数,如果直接使用了关键字则会导致解析失败。常见的关键字有:字段mybatis关键字bor(字符|)的英文xor字符^的英文and字符&&band字符&ed字符==neg字符!=lt字符<gt字符>lte字符<=
  • 2024-03-28OGNL表达式注入分析
    OGNL基础依赖<dependency> <groupId>ognl</groupId> <artifactId>ognl</artifactId> <version>3.1.19</version></dependency>OGNL三要素Expression表达式root根对象、即操作对象context上下文,用于保存对象运行的属性及值,有点类似运行环境的意思,保存了环境变量看个
  • 2024-02-01OGNL 基础使用和入门
    一、什么是OGNLOGNL是ObjectGraphNavigationLanguage的缩写,中文意思是对象导航图语言。它是一种开源的表达式语言(ExpressionLanguage),被集成在Struts2等框架中,主要用于对数据进行访问。它拥有类型转换、访问对象方法、操作集合对象等功能,并可以通过简单的语法存取对象的任意属
  • 2023-11-16arthas使用指北
    备忘录一.arthas的使用常用命令jad反编译class类、方法语法jad-c类加载器类的全路径方法名thread操作线程语法`列举全部的线程`thread`按照CPU使用率列举前5个线程`thread-n5`根据id查看此线程处于的运行状态,在执行的具体某个方法,方法
  • 2023-11-14Java表达式引擎选型调研分析
    1简介我们项目组主要负责面向企业客户的业务系统,企业的需求往往是多样化且复杂的,对接不同企业时会有不同的定制化的业务模型和流程。我们在业务系统中使用表达式引擎,集中配置管理业务规则,并实现实时决策和计算,可以提高系统的灵活性和响应能力,从而更好地满足业务的需求。举个简
  • 2023-10-31Apache Dolphinscheduler如何不重启解决Master服务死循环
    个人建议ApacheDolphinscheduler作为一个开源的调度平台,目前已经更新到了3.X版本,4.0版本也已经呼之欲出。3.0版本作为尝鲜版本,新添加了许多的功能,同时也存在非常多的隐患,本人使用3.0版本作为生产调度也踩了很多坑,到现在依然存在很多难以解决的问题,所以建议小伙伴们尽量使用2.x版
  • 2023-07-18hvv面试常问的几个漏洞
    hvv面试常问的几个漏洞一、Struts21.1简介Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts2是Struts的下一代产品,是在struts1和WebWork的技术基础上进行了合并的全新
  • 2023-06-24Struts2漏洞学习(s2-001——s2-009)
    Struts2漏洞复现Struts2是一个基于MVC设计模式的Web应用框架S2-001漏洞原理:后端将用户之前提交的参数使用OGNL表达式%{}进行解析,然后重新填充到对应的表单数据中,例如注册或登录页面,提交失败后端一般会默认返回之前提交的数据,由于后端使用%{value}对提交的数据执行了一次OGNL表达式
  • 2023-06-13hvv面试常见框架漏洞
    1.thinkphp特征判断直接在url后加/?s=1whatweb进行探测,方式:whatwebURL漏洞5.0RCE原理thinkphp底层没有对控制器名进行很好的合法性校验,导致在未开启强制路由的情况下,没有对""进行过滤,用户可以调用任意类的任意方法,最终导致远程代码执行漏洞的产生thinkPHP5SQL注入
  • 2023-06-12hvv面试常见框架漏洞问题合集
    1.thinkphp特征判断直接在url后加/?s=1whatweb进行探测,方式:whatwebURL漏洞5.0RCE原理thinkphp底层没有对控制器名进行很好的合法性校验,导致在未开启强制路由的情况下,没有对""进行过滤,用户可以调用任意类的任意方法,最终导致远程代码执行漏洞的产生thinkPHP5SQL注入
  • 2023-05-15SPEL、OGNL、Groovy、JEXL总结
     一、SPEL官网地址:https://docs.spring.io/spring-framework/reference/core/expressions.html1、支持编译,大大提升编译效率,需要在创建的时候指定,但是有如下编译限制:从SpringFramework4.1开始,基本的编译框架已经到位。但是,该框架还不支持编译每一种表达式。最初的重点是
  • 2023-05-03mybatis之OGNL表达式
    对象导航图语言(ObjectGraphNavigationLanguage),简称OGNL,是应用于Java中的一个开源的表达式语言(ExpressionLanguage)这里制作简单的了解,知道是什么。OGNL表达式OGNL常用表达式e1ore2e1ande2e1==e2,e1eqe2e1!=e2,e1neqe2e1<e2,e1lte2e1<=e2,e1l
  • 2023-04-26OGNL表达式语言介绍
    OGNL表达式语言介绍[code]OGNL介绍OGNL是Object-GraphNavigationLanguage的缩写,它是一种功能强大的表达式语言(ExpressionLanguage,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等
  • 2023-04-26精通struts2的ognl表达式
    精通struts2的ognl表达式[code]Struts2中内置了OGNL表达式的支持,使得Struts2的具有比Struts1更为强大的数据访问的功能。本文主要讲解OGNL的使用方法,并不会去讲解一些原理性的东西,想要了解的朋友可以自己去查阅相关的资料在OGNL的使用主要分以下部分来
  • 2023-04-03myBatis报错org.apache.ibatis.ognl.NoSuchPropertyException
    跑批任务时mybatis报错org.apache.ibatis.ognl.NoSuchPropertyException,重跑未出现报错,百度发现是由于mybatis依赖的Ognl版本OgnlRuntime.getMethodValue在并发情况下会存在并发问题,错误地返回null引起报错 以下是搜索该问题时找到的资料:https://github.com/1993hzh/tho
  • 2023-04-02mybatis OGNL表达式,xml查询中使用java的变量值
    1、参考struts2ongl访问静态变量与访问枚举Ognl表达式基本原理和使用方法2、java类packageorg.jeecg.mgt.cms.constant;publicclassEAd{publicstaticfinalIntegershow1=1;publicstaticfinalclassAA{publicstaticfinalIntegershow2
  • 2023-03-29mabatis查询0不运行
    应用场景:需求:需要通过状态(status=0或1)来查询数据,status类型为Integerandstatus=#{status}123当传入status=0时,并没有进入该条件里面;但传入1或其他都可以
  • 2023-02-23OGNL使用例子
    导入相关的jar包 <dependency> <groupId>ognl</groupId> <artifactId>ognl</artifactId> <version>3.3.4</version> </dependency>使用例子代码packa
  • 2023-01-12S2-059 CVE-2019-0230 远程代码执行
    漏洞名称S2-059CVE-2019-0230远程代码执行利用条件Struts2.0.0-Struts2.5.20漏洞原理漏洞产生的主要原因是因为ApacheStruts框架在强制执行时,会对分配给某些标
  • 2023-01-08Struts2系列漏洞复现汇总-持续更新中
    Struts2漏洞目录struts2漏洞S2-001(CVE-2007-4556)(已完成)struts2漏洞S2-003(已完成)struts2漏洞S2-005(已完成)struts2漏洞s2-007(已完成)struts2漏洞S2-008
  • 2023-01-06S2-009 CVE-2011-3923
    漏洞名称CVE-2011-3923S2-009远程代码执行漏洞利用条件Struts2.0.0-Struts2.3.1.1漏洞原理OGNL提供了广泛的表达式评估功能等功能。该漏洞允许恶意用户绕过Para
  • 2022-12-13struts2 CVE-2013-1965 S2-012 Showcase app vulnerability allows remote command execution
    struts2CVE-2013-1965S2-012Showcaseappvulnerabilityallowsremotecommandexecutioncatalog1.Description2.EffectedScope3.ExploitA
  • 2022-12-08struts2中OGNL中访问静态方法
     在struts2中,有时需要使用ognl去访问静态方法,典型的例子是,在新闻发布系统中,如果标题大于某个字数,必须截断,于是可以这样做:首先写一个静态的方法,然后在页面中这样写: <s:prop
  • 2022-11-30mybatis 中 if-test 判断
    之前用都是判断参数是否为空之类的,今天要判断等于一个字符,直接写等于号反而会没有执行直接跳过,后来上网查阅了资料才知道原因是:mybatis是用OGNL表达式来解析的,在OGNL的表
  • 2022-11-11Error evaluating expression ‘xxxxx != null and xxxxxx!= ”’. Cause: org.apache.ibatis.ognl.OgnlExcept
    错误描述:SQL语句中出现Errorevaluatingexpression‘category.id!=nullandcategory.id!=”’.Cause:org.apache.ibatis.ognl.OgnlException:sourceisnullfor