Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1202779
  • 博文数量: 272
  • 博客积分: 3899
  • 博客等级: 中校
  • 技术积分: 4734
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-15 14:53
文章分类

全部博文(272)

文章存档

2012年(272)

分类: Java

2012-06-27 10:41:55

前几天OWASP ESAPI 4 JS 发布了:



本来我和luoluo正准备搞个相关的议题,PPT写了一半,然后ESAPI 4 JS 发布了,让我们准备的topic失色很多。

还是关于 DOM Inserted Based XSS 的问题,以前我在blog上曾经写过一点:

Javascript的输入输出,以及二次渲染问题

这方面的解决方案原本是一项空白,因为很多input filter 或者 output encode 都没有找到出错的本质,从理论上来说,这些修补方案都会存在问题,包括 OWASP Anti XSS Cheat Sheet 中提到的那些方案


我们的解决方案:
第一种:类似 ESAPI 4 JS 的原理,在JS的层面,输出到html时再次根据不同情况作encode。以前luoluo写过一个类似的js lib,还集成到了taobaojs框架中。不过没这次ESAPI发布的这个js lib好。

第二种:使用QQclient里)使用的那种基于jstemplate系统,示范代码如下:


点击(此处)折叠或打开

  1. var _tpl = MPT.j(['']);
  2. $('body').append(_tpl.replace({
  3. ptlang: this.dp.ptlang,
  4. clientuin: this.dp.clientuin,
  5. gid: this.dp.gid,
  6. forward: this.dp.forward
  7. }));

好处是代码清晰可读。


既然 ESAPI 4 JS 发布了,我们的议题可能就杯具了,所以就先写篇blog吧!

阅读(4155) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~