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

全部博文(272)

文章存档

2012年(272)

分类: 网络与安全

2012-06-26 13:29:47

上一篇文章很容易把人绕晕,因为我和luoluo也晕了两天才理顺,然后整理了一篇很棒的paper,不过由于公司规定,不能pub出来。

再写两个案例用于说明为什么要细分各种情况,为什么要把javascript看做一个单独的层。

案例1 JsToHtmlAttribute

var x="\"\>\alert(1);\<\/script\>\<\"";

document.write("");


案例2 JsToHtmlEvent


var x="1");alert(2);//";

document.write("");


上面这两个案例都将导致XSS的执行

javascript
可以output到这几个地方:

HtmlContent, HtmlAttribute, HtmlEvent, ScriptTag

HtmlEvent ScriptTag 又是可以写javascript脚本的,那么又可能产生循环嵌套document.write(innerHTML)和迭代的问题。


其实XSS的解决方案只有两个难点:
1.
富文本的XSS过滤
2. encode
的方式和合理的编码规范


以往大多数人都喜欢研究1 对于问题2的关注较少。

如果这两个问题都能很好的解决,那么XSS也就解决了大部分了,剩下还有些边边角角的比如flash里的利用或者是一些特殊情况,则需要单独处理了。

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