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,还集成到了taobao的js框架中。不过没这次ESAPI发布的这个js lib好。
第二种:使用QQ(client里)使用的那种基于js的template系统,示范代码如下:
点击(此处)折叠或打开
好处是代码清晰可读。
既然 ESAPI 4 JS
发布了,我们的议题可能就杯具了,所以就先写篇blog吧!