struts2在传参数时会对参数名进行校瓮。默认的校验器只支持正常的命名规则,比如不支持中文。如果我的KEY是中文的就映射不上。我们要做的是覆盖默认的ParametersInterceptor。写一个类继承该类。重写isAccepted方法。直接返回true
protected boolean isAccepted(String arg0) { // TODO Auto-generated method stub return true; }
然后在struts.xml中你的package下面配置该拦截器即可。配置如下:
<package name="rain" extends="struts-default"> <interceptors> <interceptor name="params" class="com.taobao.restratin.ide.Interceptor.FixMethodFilterInterceptor"> </interceptor> </interceptors> <action name="detail" class="deatilAction"> <interceptor-ref name="params"> </interceptor-ref> <result name="success"></result> </action> </package>
相关推荐
Struts2-057 EXP 是一个针对Apache Struts2框架的严重远程代码执行(RCE)漏洞,其CVE编号为CVE-2018-11776。这个漏洞影响了Struts2的多个版本,使得攻击者能够通过精心构造的HTTP请求在服务器端执行任意代码,从而...
脚本特别关注那些接受字符串、布尔值或整型参数的setter方法,因为它们可能是OGNL注入的潜在目标。 `processClass`函数递归地检查每个对象的所有属性,通过`getMethods()`获取所有方法,并尝试调用getter方法来获取...
Struts2是一个强大的Java web应用程序...在URL路径中使用星号(*)作为通配符,可以匹配任意字符串。例如,如果我们有一个名为`MyAction`的类,它有`save`、`update`和`delete`三个方法,我们可以这样配置: ```xml ...
例如,`*`可以匹配任意字符,`{1}`、`{2}`等可以匹配请求路径中的参数,提高配置的灵活性。 九、Action的属性接收参数: 1. 在Action添加成员属性接受参数:Action类的成员变量可以直接对应HTTP请求中的参数,...
例如,使用星号(*)可以匹配任意字符串,这使得Action能够处理多个不同的请求。这种映射方式增强了Action的灵活性,减少了配置文件的复杂性。 3. **值栈的概念与获取**: 值栈是Struts2中一个重要的概念,它是一个...
此外,Struts2支持任意具有`execute`方法的POJO(Plain Old Java Object)作为Action,极大地增强了框架的灵活性和适应性。 #### 线程模型的演变 - **Struts1.2**:采用单例模式管理Action类,所有请求共享同一...
- **动态方法调用**:Struts 2.0支持动态方法调用,即可以根据请求参数自动选择不同的方法执行。 #### 三、Struts 2.0 Action的具体实现 尽管Struts 2.0的Action可以非常简单,但在实际开发中,通常会继承`...
该漏洞利用了Struts2框架中的某些特性,通过特定的HTTP请求参数绕过安全检查,进而执行任意代码或获取敏感信息。 #### 二、S2-0211漏洞分析 ##### 2.1 S2-020漏洞回顾 在讨论S2-0211之前,先简单回顾一下与其紧密...
Struts框架是一款经典的...在Struts的配置文件`struts-config.xml`中,你需要为ActionForm指定一个字符编码,例如UTF-8,以确保接收到的参数(包括文件名)能够正确解析。示例配置如下: ```xml ...
这个配置表示,任何以"user_"开头,后面跟着两个任意字符的请求都将映射到`UserAction`类,并且`{1}`和`{2}`将被替换为匹配的字符,用于动态生成结果页面。 3. **Action方法的参数绑定**: Struts2会自动将通配符...
2. **配置ParameterInterceptor**:在Struts2的配置文件中,使用`excludeParams`属性定义一个白名单,只允许特定字符或参数名,限制OGNL表达式的解析。例如,禁止使用可能导致安全问题的特殊字符,如`\()`、`@`等。 ...
### Struts2校验器类型详解 #### 一、Struts2内建校验器 在探讨Struts2校验器之前,我们首先需要了解这些校验器是如何被定义和集成到框架中的。如文中所述,Struts2的内建校验器主要位于`xwork-2.0.4.jar`压缩包中...
- Struts2支持国际化(Internationalization,简称i18n),可以通过配置文件指定字符集编码:`<constant name="struts.i18n.encoding" value="UTF-8"/>`。 - 默认的国际化资源文件位于`struts-core.jar`内的`org....
再次,启用或配置Struts2的安全拦截器,如Params拦截器,它可以对输入数据进行预处理,过滤潜在的危险字符。 另外,还可以使用OWASP(开放网络应用安全项目)提供的工具和指南,例如OWASP ESAPI(Enterprise ...
然而,Struts2的验证机制原本设计为阻止包含`#`的参数名,以防止OGNL表达式的执行。然而,开发人员在修复早期漏洞时,错误地使用正则表达式`{\\p{Graph}&&[^,#:=]}*`来过滤`#`字符。由于Java字符串的转义规则,用户...
在Struts2中,OGNL被用来传递和处理HTTP请求参数到Action类的属性。 漏洞的核心在于,攻击者可以通过构造特殊的URL请求,利用OGNL表达式绕过默认的安全限制,从而执行任意的Java代码。在给出的URL示例中,可以看到...
开发者在使用Struts2时,如果不严格遵循安全编码规范,可能会引入安全风险,例如,不正确地处理用户输入,或者在Action类中直接使用未验证的参数,都可能导致安全漏洞。 Struts2框架的安全缺陷通常表现为: 1. **...
这个版本的Struts2在处理Web应用中的各种任务,如表单处理、数据验证、文件上传下载等方面提供了强大的支持。在本程序中,我们关注的是如何使用Struts2.1.3实现一个简单的文件下载功能。 首先,我们需要在项目中...