### 简要描述: startbbs已经对xss有过滤措施,但是有办法绕过。这里我依然以官方为demo作为测试,因为官方的是最新版。 ### 详细说明: 问题出现在发帖的正文文本框:盲打的概率非常高的。 测试了常规的html代码,发现只剩下img标签,其他的都被过滤了,因此可以在img上能发挥作用的只有on系列的事件了。 测试尝试和之前那样 [<img src="https://images.seebug.org/upload/201401/07112720002a493d526f21b731946bfca7d8aea2.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/07112720002a493d526f21b731946bfca7d8aea2.jpg) 发布上面的代码,发现过滤成下面这样: [<img src="https://images.seebug.org/upload/201401/071128032405966c84dc31cf71102ea28c13b1e4.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/071128032405966c84dc31cf71102ea28c13b1e4.jpg) 尝试用javascript:伪协议去触发:但是又被过滤成这样: [<img src="https://images.seebug.org/upload/201401/07112958469f5b47b85d09b5541e1fb111978e07.jpg" alt="3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/07112958469f5b47b85d09b5541e1fb111978e07.jpg) 也就是常规的在敏感字符那加入x 来让事件等功能失效。 到了这一步,暂时没有了头绪。...
### 简要描述: startbbs已经对xss有过滤措施,但是有办法绕过。这里我依然以官方为demo作为测试,因为官方的是最新版。 ### 详细说明: 问题出现在发帖的正文文本框:盲打的概率非常高的。 测试了常规的html代码,发现只剩下img标签,其他的都被过滤了,因此可以在img上能发挥作用的只有on系列的事件了。 测试尝试和之前那样 [<img src="https://images.seebug.org/upload/201401/07112720002a493d526f21b731946bfca7d8aea2.jpg" alt="1.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/07112720002a493d526f21b731946bfca7d8aea2.jpg) 发布上面的代码,发现过滤成下面这样: [<img src="https://images.seebug.org/upload/201401/071128032405966c84dc31cf71102ea28c13b1e4.jpg" alt="2.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/071128032405966c84dc31cf71102ea28c13b1e4.jpg) 尝试用javascript:伪协议去触发:但是又被过滤成这样: [<img src="https://images.seebug.org/upload/201401/07112958469f5b47b85d09b5541e1fb111978e07.jpg" alt="3.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/07112958469f5b47b85d09b5541e1fb111978e07.jpg) 也就是常规的在敏感字符那加入x 来让事件等功能失效。 到了这一步,暂时没有了头绪。 过了几天之后忽然想到之前新浪邮箱的过滤方式也是如此。 恰当好处,我关注了二哥新浪邮箱xss bypass。 [WooYun: 新浪邮箱正文存储型XSS,空字节不仅能上传,还能跨站](http://www.wooyun.org/bugs/wooyun-2012-07244) (新浪邮箱正文存储型XSS,空字节不仅能上传,还能跨站) 那不如试试\0 空字节看看能否绕过? 发布如下帖子: <img src=1 o\0n\0error="alert(1)"/> [<img src="https://images.seebug.org/upload/201401/07113312e06751da092d12a29099b16fda81ae71.jpg" alt="8.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/07113312e06751da092d12a29099b16fda81ae71.jpg) 惊奇的发现成功绕过了官方过滤。植入xsser.me的代码。成功获取了cookie [<img src="https://images.seebug.org/upload/201401/07113414132a43d3d30ef40e7df198a8245088f4.jpg" alt="9.jpg" width="600" onerror="javascript:errimg(this);">](https://images.seebug.org/upload/201401/07113414132a43d3d30ef40e7df198a8245088f4.jpg) 上面是第一种,危害较大。第二种相对而言危害较小,是通过css的expression全角字符去绕过,这里不需要用到\,因此还需要着重过滤一下。测试poc:(仅ie6有效) ``` <img src=1 style="x:expression(alert(1))"/> ``` ### 漏洞证明: 都在详细说明里头了。