写点什么

Struts 安全扩展解决 OWASP 高级安全弱点

2007 年 4 月 10 日

HDIV(HTTP Data Integrity Validator,HTTP 数据完整性验证器)项目最近发布了 1.1 版。HDIV 是 Apache 许可的 Struts 安全扩展项目,它为 Struts 1.1 增加了安全功能,维护 API 和 Struts 规范。HDIV 验证包括:来自客户端的可编辑数据,如文本框的输入;以及一些不可编辑信息,如链接、隐藏域、组合框值、单选框和目的页(Destiny pages)等。

这次发布的版本围绕 Cookie 和可编辑数据进行验证:

Cookie 保密性和完整性的验证。 可编辑数据的验证(文本框和文本域):使用可编辑数据的通用验证,HDIV 可以在很大程度上消除源于跨站脚本(Cross-site scripting,XSS)和 SQL 注入(SQL Injection)攻击的风险。用户必须使用 XML 格式的规则来配置通用验证,基于这些定义的限制可以减少或消除攻击的风险。

HDIV 网站上包含一个内容丰富的幻灯片展示:HDIV 如何解决开放 Web 应用程序安全项目(Open Web Application Security Project)的前 10 大网站安全弱点。InfoQ 和项目领导者 Roberto Velasco Sarasola 一起讨论了这个项目。对于创建 HDIV 项目背后的动机,他解释说:

我审查 Web 应用已经有好几年了。它们都有典型的弱点,如 XSS、SQL 注入和参数篡改。主要的原因是:开发者不关心这种类型弱点引起的风险,尤其是由不可编辑数据引起的(选择框、隐藏框、链接……)。 Struts 是主要的 Java Web 框架,但它并没有为这些弱点提供透明的解决途径。Struts Validator 被证明是有用的,但它并没有解决数据的完整性和保密性问题。

接下来 InfoQ 问了些 HDIV 与其它 Web 框架的集成问题,如 JSF:

目前,我们在 Struts 2 版本上进行工作,内部版本已经发布。我们期望下个月会发布一个公开的 beta 版。项目的核心与 Struts 版本一样,唯一的区别是自定义标签,它扩展自 Struts2 的自定义标签扩展。我们也在 JSF 版本上进行工作,花时间将新功能仔细地集成到 JSF 架构设计。我们期望在两个月内会有一个 beta 版的发布。到那时,我们就把工作集中在易受攻击的组件(如隐藏框、命令链接和输出链接等)、Cookie 验证和目录遍历的弱点上。然后,我们就可以开始从事数据保密性方面的工作。

在最后,InfoQ 还询问了关于 HDIV 未来发展的计划:

受关注的领域仍然相同:非编辑数据的完整性和保密性,可编辑数据的通用验证等。任务是扩展我们的技术,以与其它框架集成(Struts2、JSF 和 AJAX 标签)。我们也从事新特性的开发,如: - 可编辑数据验证的自动化。

  • Web 管理工具(可视化日志、配置……)。
  • 产生警报(SMS、Email)。

译者简介:胡键是 InfoQ 中文站的志愿者翻译,自 2000 年西安交通大学硕士毕业后一直从事软件开发。2002 年开始使用 Java,在项目开发中经常采用 OpenSource 工具,如 Ant、Maven、Hibernate、Struts 等,目前正在研究信息集成方面的规范和技术。可以通过 jianhgreat AT hotmail.com 与他联系,或访问博客: http://foxgem.javaeye.com/ 。加入 InfoQ 中文站志愿者翻译队伍,请邮件至 china-editorial@infoq.com

2007 年 4 月 10 日 06:54374
用户头像

发布了 255 篇内容, 共 45.8 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营第 9 周作业

netspecial

极客大学架构师训练营

真零基础Python开发web

MySQL从删库到跑路

Python django Web bottle

第9周作业2

Yangjing

极客大学架构师训练营

架构师训练营第 9 周学习总结

netspecial

极客大学架构师训练营

架构师训练营 - 第九周总结

一个节点

极客大学架构师训练营

【架构师训练营】第九周作业:性能优化

MindController

秒杀系统

第9周作业1

Yangjing

极客大学架构师训练营

架构师训练营—第九周作业

Geek_shu1988

JVM垃圾回收原理,秒杀系统架构方案

garlic

极客大学架构师训练营

架构师训练营 1 期第 9 周:性能优化(三)- 总结

piercebn

极客大学架构师训练营

一次用户故事拆(SPIDR)法实践

Bruce Talk

Agile 用户故事 User Story

架构师训练营第九周课程笔记及心得

Airs

秒杀系统

橘子皮嚼着不脆

架构师训练营 week5 课后作业

花果山

极客大学架构师训练营

二分法求平方根,swift面向协议编程protocol从入门到精通、《格局》吴军著读后感、John 易筋 ARTS 打卡 Week 27

John(易筋)

collection ARTS 打卡计划 格局 吴军 李嘉图定律 面向协议protocol编程

【喜讯】Apache DolphinScheduler 荣获 “2020 年度十大开源新锐项目”

海豚调度

Apache DolphinScheduler Apache DolphinScheduler 新一代大数据任务调度 十大开源新锐项目

技术选型总结一

Mars

技术选型

架构师训练营第二期 Week 5 作业

bigxiang

极客大学架构师训练营

架构师训练营第二期 Week 5 总结

bigxiang

极客大学架构师训练营

架构师训练营 week5 学习总结

花果山

极客大学架构师训练营

架构师训练营第 9 周课后练习

叶纪想

极客大学架构师训练营

Week 9 作业01

Croesus

InfoQ 写作平台的魔力

Yolanda

助推城市智慧化!正舵者携手中科院演绎区块链魅力

CECBC区块链专委会

区块链 人工智能

【架构师训练营第 1 期 09 周】 学习总结

Bear

极客大学架构师训练营

5G+工业互联网的中国登山队,如何攀跃“产业化”山峦?

脑极体

Java 中常见的细粒度锁实现

rookiedev

Java 多线程 细粒度锁

能源区块链研究|区块链与核电安全

CECBC区块链专委会

区块链 核电

架构师训练营 week9 作业

陈皓07

Week5 作业1

shuyaxx

应届秋招生,熬夜吃透华为架构师这份‘典藏级’计算机网络+计算机操作系统,成功上岸腾讯

云流

网络协议 编程之路 计算机知识

微服务架构下如何保证事务的一致性

微服务架构下如何保证事务的一致性

Struts安全扩展解决OWASP高级安全弱点-InfoQ