Jan
22
在javascript 事件中,当参数是经过编码的值,javascript 会将期解码进行执行,如下代码。
另外,由于 javascript 支持 函数参数可以是 函数特性,如下代码:
利用两种特性,就可以引发如下的安全问题:
当 javascript 代码经过编码带入页面,可以利用事件执行时解码的特性对单引号进行闭合,然后利用 函数参数 可以是 函数的特性进行代码。该方法不能直接用于 《script》内,比如如下代码是不能执行的:
由于如上问题,在特定应用环境中,处理与解决 DOM 型XSS 的时候,将更具有挑战。解决方法就是在解码后,再次使用 \ 符号对其处理,但是考虑到特殊应用可能有所影响。
<a href=# onmousemove="alert(/woyigui/)">xxx</a>
另外,由于 javascript 支持 函数参数可以是 函数特性,如下代码:
<script>x( alert(1) );</script>
利用两种特性,就可以引发如下的安全问题:
<a href="#" onmousemove="xxx(''+alert(1)+'',44);return false;">woyigui</a>
当 javascript 代码经过编码带入页面,可以利用事件执行时解码的特性对单引号进行闭合,然后利用 函数参数 可以是 函数的特性进行代码。该方法不能直接用于 《script》内,比如如下代码是不能执行的:
<script>
xxx(''+alert(1)+'');
</script>
xxx(''+alert(1)+'');
</script>
由于如上问题,在特定应用环境中,处理与解决 DOM 型XSS 的时候,将更具有挑战。解决方法就是在解码后,再次使用 \ 符号对其处理,但是考虑到特殊应用可能有所影响。
空灵
2010/03/01 12:46
学习了
冷风吹
2010/02/24 15:52
借鉴了哦。。。。
xixi
2010/02/06 18:01
偶像。。。看官快献菊。。
MJ
2010/01/30 22:01
是可以借鉴一下的
kxlzx
2010/01/28 10:37
在js执行的地方,要做jsencode,而不是htmlEncode等编码。
woyigui 回复于 2010/01/28 13:33
是呀,就是出在未正确的处理上。
youstar
2010/01/24 21:09
XSS有时可以借鉴下!
分页: 1/1
1
1
discuz 7.2 的
条形码XSS


