今天跟同事解决这样一个问题:
jsp页面中处理request.getAttribute("value")的注入!
jsp页面如下:
<html>
<head>
<title>xxx</title>
</head>
<body>
<div class="blue">
<p>
<%=request.getAttribute("value")%>
</p>
</div>
</body>
</html>
有用户恶意的将value值设置为:<img src="#" onerror="alert hello" />
用户在提交表单之后,会突然弹出js框,造成错误!
这时需要解决的问题就是将用户显示的值原值显示出来!
这是可以采取的方式有如下:
1. struts2中的property来设置
<s:property value="test" escape="false"/>
escape:false为不显示
true显示
由于是使用的struts1,所以这里不能使用
2. html <code>标签
这里经过测试,无法展现 http://www.w3school.com.cn/tags/tag_code.asp
3. el表达式
最后使用的是c:out来做处理实现
导入el表达式库
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/functions"%>
<html>
<head>
<title>xxx</title>
</head>
<body>
<div class="blue">
<p>
<c:out value=" <%=request.getAttribute("value")%>" />
</p>
</div>
</body>
</html>
至此,这里就解决了原值的显示
哎,老项目中的bug实在是太多啊......
分享到:
相关推荐
"struts2-016-017-bug-repair"压缩包很可能是包含了修复这两个漏洞的补丁或配置更改说明。为了在不升级原框架的基础上解决这些问题,你可以按照以下步骤进行: 1. **应用补丁**:检查压缩包中的文档,看是否有提供...
标题 "XSS转码 && struts2 property标签的bug" 指向的是一个关于Web安全的话题,特别是针对Struts2框架的一个特定安全问题。XSS(Cross-site scripting)是Web应用中的常见安全漏洞,而Struts2是Java开发中的流行MVC...
6. **Bug处理**:开发人员接收到bug后,查看问题详情,调试代码,修复问题,并在系统中记录修复过程和解决方案。修复完成后,bug状态会更新为已解决或已关闭。 7. **开发人员能力统计**:系统能够统计每个开发人员...
S2-059,也被称为"Struts Shatter",主要是由于OGNL表达式中未正确处理用户输入,使得攻击者可以注入恶意代码并执行。该漏洞影响了Struts 2的多个版本,包括2.3.x和2.5.x。修复措施包括改进OGNL表达式的解析和限制,...
在Struts2.3.34版本中,开发者可能已经修复了旧版本中的一些bug,并增强了框架的性能和安全性。因此,替换所有jar包而不是仅仅替换特定的几个,可以确保系统全面地得到更新,避免因部分组件未更新而导致的潜在风险。...
- **struts-1.3.8**:这个版本可能包含了之前版本的bug修复、性能优化以及可能的新特性。在使用此版本时,开发者需要参考官方文档了解可能的变化和改进。 - **struts-1.3.10**:作为比1.3.8稍新的版本,它可能包含...
6. **struts2-spring-plugin.jar**(可能包含):如果使用Spring框架进行依赖注入,这个插件将帮助整合Struts 2和Spring,使得Action可以作为Spring的bean管理。 7. **其他第三方库的jar包**:Struts 2依赖于一些...
在Struts2.3.16.3这个版本中,可能包含了对之前版本的bug修复、性能优化以及新特性的引入,旨在提供更稳定、高效的开发环境。 Spring框架则是一个全面的企业级应用框架,它提供了依赖注入(DI)和面向切面编程(AOP...
这个“struts-2.3.24.1-all.zip”压缩包包含了Struts 2框架的完整版本2.3.24.1,这是一个广泛使用的版本,具有许多增强的功能和修复的bug。以下将详细介绍Struts 2框架的核心概念、主要特点以及在2.3.24.1版本中的...
首先,SSH框架是Java Web开发中的一个经典组合,其中Struts2负责控制层,Spring处理业务逻辑和依赖注入,而Hibernate则用于对象关系映射(ORM)。Struts2以其灵活性和强大的功能闻名,如拦截器、结果类型、插件体系...
这个版本包含了对之前版本的改进、bug修复以及可能的新特性。下面将详细介绍这些文件及其在Struts 2框架中的作用。 1. **struts2-core-2.5.12.jar**:这是Struts 2的核心库,包含了框架的基础组件,如Action类、...
具体到struts-2.3.16版本,这是Struts2的一个稳定版本,包含了多个组件和修复的bug,旨在提供更高效、更安全的开发环境。 核心jar包是Struts2框架的基础,主要包括以下几个关键组件: 1. **struts2-core.jar**:这...
1. **性能提升**:通过优化内部机制,如请求处理和视图渲染,提高应用程序的运行效率,减少资源消耗。 2. **安全性增强**:修复已知的安全漏洞,如XSS(跨站脚本攻击)和SQL注入等,保障应用免受恶意攻击。Struts2...
Struts是MVC(模型-视图-控制器)架构的一个实现,主要用于处理前端请求和业务逻辑,而Spring则是一个全面的后端框架,提供依赖注入、AOP(面向切面编程)、事务管理等服务。 **Struts框架** Struts1是Apache软件...
- **CVE-2017-5638**:这是一个著名的漏洞,被称为“Struts Shatter”,由于OGNL(Object-Graph Navigation Language)表达式处理不当,允许攻击者通过HTTP请求头注入恶意代码,从而实现远程代码执行。 - **CVE-...
**2.2.3.1版本** 的特性可能包括修复了一些已知的bug,改进了与不同Spring版本的兼容性,或者增加了新的功能。具体改动可以通过查阅官方发布文档或变更日志来了解。 使用Struts2-Spring-Plugin-2.2.3.1.jar时,...
- **Action**:在Struts2中,Action是业务逻辑的载体,处理用户请求并返回结果。 - **Result**:Action执行后,通常会返回一个Result,定义了如何呈现响应给用户。 - **Interceptor**:拦截器是Struts2的核心组件...
Struts2.3.16.1版本包含了一些新的特性、修复了已知的bug和提升了性能。例如,增强了拦截器(Interceptor)功能,支持更多类型的Action结果类型,以及对RESTful风格的URL支持等。 **Hibernate框架**: Hibernate是...
- 文件名中的"2.3.16"表示Struts2的版本,每个版本都有其特性改进和bug修复,开发者需要根据项目需求选择合适的版本。 在实际开发中,Struts2.jar和其他相关依赖包一起使用,可以构建出高效、稳定的Java Web应用。...
1. OGNL(Object-Graph Navigation Language)注入漏洞:这是Struts 2框架中一个臭名昭著的安全问题,允许攻击者通过构造恶意的HTTP请求来执行任意代码。在早期版本中,OGNL表达式可以被未验证的数据所操纵,导致...