OWASP AntiSamy. Java
项目简介:
OWASP AntiSamy项目可以有好几种定义。从技术角度看,它是一个可确保用户输入的HTML/CSS符合应用规范的API。也可以这么说,它是个确保用户无法在HTML中提交恶意代码的API,而这些恶意代码通常被输入到个人资料、评论等会被服务端存储的数据中。在Web应用程序中,“恶意代码”通常是指Javascript。同时层叠样式表(CSS)在调用Javascript引擎的时候也会被认为是恶意代码。当然在很多情况下,一些“正常”的HTML和CSS也会被用于恶意的目的,所以我们也会对此予以处理。
冷静地说,AntiSamy项目是违背现代安全机制的。因为出于安全考虑,安全机制和用户之间的沟通应该是单向的。而让潜在的攻击者知道验证的细节通常是不明智的,这样会让攻击者学习和探查到系统运行机制以找到薄弱环节。这种类型的信息泄露可能会造成意想不到的后果。如果一个登录系统,告诉访问者“用户名不存在”,这就泄露出一个事实:这个用户名在系统中确实不存在。攻击者可以使用一个字典,一个电话本,或者二者结合,在远程得到一个有效的用户列表。利用这些信息,攻击者可以使用暴力穷举破解进行攻击,或者引发大规模的账户锁定从而造成拒绝服务攻击。这是很常见的攻击形式。
但是,这种策略在当前的情况下并不实用。普通的互联网用户基本上都不怎么擅长写HTML和CSS,那么他们从哪儿获取自己需要的HTML代码呢?通常他们只是从其它Web页面上复制一些内容。简单地拒绝输入,而不提供任何信息,这会让用户感到烦恼和沮丧。愤怒的用户会转去别的社交网站活动。
项目参与人员:
项目任务 | 参与人员 | 完成时间 |
---|---|---|
翻译 | Joey Yin,王文君 | 2011年3月28日 |
Alpha版审核 | 倪彤前 | 2011年3月30日 |
Beta版审核 | 樊山 | 2011年4月7日 |
技术验证 | 王文君 | 2011年6月 |
培训 | 王文君 | 2011年6月23日 |
版本下载:
OWASP AntiSamy Java中文Beta版
原项目链接:
AntiSamy培训: