`
sw1982
  • 浏览: 511343 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

早期struts2中使用JSTL标签的bug

JSP 
阅读更多

struts2已经集成了jsp标准的 JSTL标签用法,比如:

Action里面定义的变量private int sellerUin;,除了<s:property>标签外,还可以使用如下jstl来输出到页面上:

 ${sellerUin}

 

struts2会自动对http请求参数做类型转换。请求参数sellerUin=123会正常处理,而请求参数sellerUin=abc则会抛出参数转换错误,返回到"input"这个result上。

 

 

但是,在2.0.9这个版本的struts2中, 传参数sellerUin=abc,只要不是通过<s:property>去获取selleruin的值,这个参数就不会被正常的校验参数类型!也就是说,使用${sellerUin} 一样会在页面上返回abc,而不会抛出参数类型错误。

于是在后台被定义为int,long类型的参数,肯定不会做xss校验。而一旦被人识破并利用${} jstl标签输出,就会对返回页面进行xss注入。

 

经过测试,这个问题在2.0.14版本已经得到修复。

 

 

分享到:
评论

相关推荐

    structs-2.3.16-all.zip+jstl-1.2.jar

    例如,开发者可以在Struts 2的Action结果页面上使用JSTL标签来展示数据,处理页面逻辑。Struts 2 Action返回的结果可以与JSTL标签配合,动态地生成和渲染HTML页面。 4. J2EE应用: 在J2EE环境中,Struts 2和JSTL的...

    Struts2+hibernate+spring的常见面试题

    4. 标签支持:Struts1使用JSTL和自定义标签,而Struts2使用OGNL表达式语言和丰富的内置标签。 5. 验证:Struts1的验证通常是手动实现,而Struts2支持手动和验证框架的集成,提供更灵活的验证机制。 在Web项目开发...

    基于struts+jsp+mysql的BBS系统

    开发者可以在JSP页面中嵌入Java代码或者使用EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)标签库简化页面逻辑。 **MySQL数据库** MySQL是一款开源、关系型数据库管理系统,被广泛应用...

    struts2.3.8+spring3.2.1+hibernate4.2.0整合jar包

    整合这三个框架,开发者可以在Struts2中定义Action类,Spring则负责管理Action类的生命周期,通过依赖注入提供服务,而Hibernate则处理数据库交互。例如,当用户发送一个请求到服务器,Struts2会处理这个请求并调用...

    [新闻文章]Struts新闻管理系统学习修正版_newsmanager.zip

    2. **ActionForm**:在Struts中,ActionForm对象用于封装来自客户端的请求数据,它作为Action类和视图之间的桥梁。在这个新闻管理系统中,可能会有一个NewsForm类用于存储新闻的相关信息。 3. **配置文件**:包括...

    基于struts的宿舍管理系统源码

    【基于Struts的宿舍管理系统源码】是一款使用Java Web技术栈开发的应用,主要涉及Struts框架、JSP页面以及SQL Server数据库。这个系统为高校或住宿机构提供了方便的宿舍管理解决方案,涵盖了学生住宿信息的录入、...

    pager-taglib 分页扩展实例(旧)

    pager-taglib 是个很好的jsp分页标签,使用它结合jstl可以实现灵活的分页导航功能。在实际的开发中post方式的提交比较常见,本人做了一个比较通用的基于post方式的一个应用。主要实现一下功能: 1.添加输入跳转、每...

    Java程序开发教学课件:16JSPModel.pptx

    此外,JSP Model 2常常结合JavaServer Pages Standard Tag Library (JSTL)来减少脚本代码的使用,提高可读性和可维护性。JSTL库包含一系列标签,可以处理常见的任务,如迭代、条件判断和数据操作。 4. Web ...

    web开发王者源码汇总.rar

    7. **JSTL.rar**:JSTL(JavaServer Pages Standard Tag Library)是Java服务器页面的标准标签库,简化了JSP页面的编程。了解JSTL可以提升开发者在JSP页面上的表现力和代码的可维护性。 8. **JSP.rar**:JSP是动态...

    jsp数字分页功能

    在Java Web开发中,JSP(JavaServer Pages)是一种...如果你在测试过程中遇到bug,可以检查SQL语句是否正确,分页参数是否传递完整,以及各层之间的通信是否正常。记得及时提出问题,以便社区的其他成员能帮助解答。

    java简历模板(详细).docx

    他在项目中使用了SSM(Spring、SpringMVC、Mybatis)框架,同时也涉及到了Struts和Hibernate技术,展示了其在实际开发中的应用能力。 综上所述,这位应聘者具备全面的Java开发技能,尤其在Java Web和Spring框架方面...

    SSH 做的ztree实例

    SSH(Struts2 + Spring + Hibernate)是一种常见的Java Web开发框架,它整合了三大开源框架,用于构建高效、可扩展的Web应用。Struts2提供了MVC架构,Spring提供了依赖注入和事务管理,Hibernate则负责对象关系映射...

    JavaWeb校园宿舍管理系统

    JSTL则是一组标签库,简化了JSP页面的编程。 2. **框架技术**:通常,JavaWeb项目会采用MVC(Model-View-Controller)架构模式,如Spring MVC或Struts2框架。这些框架有助于实现业务逻辑与表现层的分离,提高代码的...

    网上图书馆的设计与实现.zip

    JSP页面中通过EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)标签来显示和处理数据。 6. 部署和测试:将项目打包成WAR文件,部署到服务器,如Tomcat。进行系统测试,确保所有功能正常...

    JAVA软件工程师简历自我评价.doc

    在技术能力方面,该软件工程师熟练使用 Spring+Struts+Hibernate 整合开发,熟练使用 JSP、Servlet、JSTL、JDBC 等技术进行编程开发。 Spring 是一个非常流行的 Java 应用程序框架,能够帮助开发者快速构建企业级...

    JSP项目开发全程实录 之企业电子商城网

    2. JSP标签库:如JSTL(JavaServer Pages Standard Tag Library),提供了一系列预定义的标签,简化页面逻辑编写。 3. JavaBean:作为业务逻辑组件,封装数据和方法,JSP通过EL(Expression Language)调用JavaBean...

    javaxservlet

    `javax.servlet.jsp.jar`文件包含了JSP的相关实现,包括JSP标签库、表达式语言支持和JSP标准标签库(JSTL)等。开发者可以使用JSP标签来简化视图层的开发,将逻辑和表现分离。 `更新日志.txt`文件通常记录了该API或...

    JavaWeb医院管理系统源码+数据库

    3. **JavaWeb**:JavaWeb是指使用Java技术进行Web应用开发的一系列技术栈,包括Servlet、JSP、JSTL、Filter、Listener等。本系统利用这些技术实现Web应用的架构和功能。 4. **SSH框架**:SSH是Spring、Struts和...

    javaweb简单的图书管理系统 (2).pdf

    4. **JSTL**: 一组标签库,简化了JSP页面的逻辑,如循环、条件判断等。 5. **jQuery**: 用于增强页面的交互性,实现动态效果。 6. **DAO(Data Access Object)**: 数据访问对象,负责与数据库的交互,实现CRUD操作...

    appfuse-documentation-2.1.0官方文档

    - **CSS 框架**:介绍如何在项目中使用 CSS 框架来改善界面设计。 - **数据库配置**:提供关于不同数据库配置的信息。 - **集成开发环境 (IDEs)**:包括 Eclipse、IntelliJ IDEA、MyEclipse 和 NetBeans 等 IDE 的...

Global site tag (gtag.js) - Google Analytics