XSS绕过总结第二节

输出在

5.如果过滤了<,>,那么就无法使用上面的办法了。我们接着看
script代码里的构造。
友情提示:这里可能需要一点点javascript的知识才行哦~~
我们可以如下构造:
http://activity.soso.com/common/setParentsInfo.php?callback=eval('alert(1)’);void
6.可以看到,源代码是下面的样子。
在这里插入图片描述
7.也就是说,我们插入的内容,使得这一段javascript依然【语法正确】,能够【正确执行】,并且能够执行【我们所插入的JS代码】,这样我们的目的就达到了。
构造后的源代码如下:
document.domain=‘soso.com’;_ret={"_res":2};try{parent.eval(‘alert(1)’);void(_ret);}catch(err){eval(‘alert(1)’);void(_ret);}
8.这种输出在JS代码里的情况十分常见,但是呢?不幸的是,像这样没过滤的情况,却不是很常见。例如:
vara="[输出]";//通常程序员会把"过滤掉,这样的话,一般来说,我们就很难构造。
但是,这并不是说,就一定是不能利用,后面我们会拿腾讯一些【比较有意思】的例子,来进一步说到这个【输出在js里】的情况的~
9.修复方案:
这类XSS的模型通常是:

9.1.过滤组合
9.2.针对输出在不同的场景,进行合适的过滤。

你可能感兴趣的:(渗透测试)