我正在磨练我的XSS技能,但有一件事我没有得到的是为什么在第二种情况下,当我实际上逃避功能并启动我自己的代码时,我的注射没有执行。我从W3Schools获得的代码并不是恶意的。
问题是:为什么案例2不起作用,如何更改它以使其工作。
谢谢。
更新:案例2中的注射开始于:x =“Good day”;} ... 所以我不能在脚本的末尾添加结束注释。我只是好奇为什么不是警报(1)在第二种情况下工作,浏览器没有解析那个js,因为它最终缺少* /?或者因为注射没有从该功能中正确地逃脱。
http://www.w3schools.com/js/tryit.asp?filename=tryjs_ifthen
案例1:
function myFunction()
{
var x="";
var time=new Date().getHours();
if (time<20)
{
x="Good day";
}
document.getElementById("demo").innerHTML=x;
}
alert(1); //My injection
案例2:
function myFunction()
{
var x="";
var time=new Date().getHours();
if (time<20)
{
x="Good day";
}
var i =0;} alert(1);/*My injection is in this line
document.getElementById("demo").innerHTML=x;
}
答案 0 :(得分:3)
你有一个未经终止的评论
function myFunction() {
var x="";
var time=new Date().getHours();
if (time<20)
{
x="Good day";
}
var i =0;
}
alert(1); /*My injection is in this line document.getElementById("demo").innerHTML=x; }*/