首页 新闻 搜索 专区 学院

js的问题(与xss有关),请大家帮忙看看

0
悬赏园豆:50 [已解决问题] 解决于 2013-07-24 15:39
<script type="text/javascript">
$$.Form = { ClientSource : "Online", SearchText : "test123">alert(1)<"", StartCity : 2 };

</script>

请问上述js代码中的alert(1)是否会被执行?以及为什么会被执行,<和>分别完成了什么作用。十分感谢。

马僧的主页 马僧 | 菜鸟二级 | 园豆:205
提问于:2013-07-11 22:14
< >
分享
最佳答案
0

会被执行

原文可以简化为

var a = "test">alert(1)<"";
再明白一点的写就是
var a = ( "test" > alert(1) ) < "";

这里面有两次运算 <和>是作为比较运算符而存在的
alert(1)是跟什么的咱不管,只看他的返回值

通过typeof alert(1)===“undefined” 就可以知道 他没有返回值

这样 就变成了

var a = ( "test" > undefined) < "";

接下来的就简单了

 

收获园豆:50
TiestoRay | 小虾三级 |园豆:687 | 2013-07-12 00:48

十分感谢,那么这里的alert(1)可不可以换成其他的转到其他网页的代码。比如我希望这段代码执行后会访问百度,应该如何写?谢谢

马僧 | 园豆:205 (菜鸟二级) | 2013-07-12 09:38

@马僧: 

......
SearchText :
"test123">(document.location.href="http://www.baidu.com")<"",
......

是这种要求不
TiestoRay | 园豆:687 (小虾三级) | 2013-07-12 09:47

@TiestoRay: 谢谢

马僧 | 园豆:205 (菜鸟二级) | 2013-07-24 15:38
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册