自己并不擅长xss,作为抛砖引玉的一篇总结文章,分享一下自己的见解,其实写出来感觉很惶恐。都是之前看M写的一些文章学到的姿势,在这里跪谢。

我这里的绕过侧重于白盒审计,所以不用各种测试测试很久,只用根据源码中的fliter规则写出合适的exp。

后端代码编写中,对于xss有如下几种处理方案:

01.htmlspecialchars等函数,将接收到的数据转换成html实体,使之不能执行。比如<imgsrc=alert(/a/)>转换成&lt;img src=alert(/a/)&gt;,也就没法执行了。
02.strip_tags函数,去除html标签。比如strip_tags(&#039;<script>alert(/a/)</script>&#039;)就变成了alert(/x/),不能执行了。这种方法用的少,因为它会去除所有有关<、>的内容,用户体验差。
03.如果处理富文本,不能够用上面两种方式,一般都会选择使用黑名单过滤的方式,也就是xss fliter。我着重说这一项。

我们来找一些实例看看。首先我们想,最容易出现富文本编辑框的cms,就是论坛、社区,运行注册用户发表一些文章的地方。

长文(22页word文档)

文中除了360webscan的分析以外,其他分析都是基于自己新发现的通用性cms的xss 0day漏洞。漏洞信息仅供学习与本地测试,请勿用于非法用途,否则后果自负,与笔者无关。

pdf版本:

链接: http://pan.baidu.com/s/1c027yhU 密码: q17t

doc版本:

链接: http://pan.baidu.com/s/1o6z5lB8 密码: 5pu5

作者博客链接,xdse

源链接

Hacking more

...