我正在尝试做一个跨框架脚本攻击PoC(https://www.owasp.org/index.php/Cross_Frame_Scripting)在我的工作显示这种攻击对任何版本的IE浏览器有多危险。 通过在IE8或更新版本上使用X-FRAME-OPTIONS: deny
标头,可以轻松防止此攻击。但是,如果每个开发包括所有Web服务器响应中的头部,这将是非常好的。 使用下面的代码,我可以看到带有键码的警告窗口,但是在目标页面上的窗体的情况下,我看不到在窗体内按下的键的字母。框架onkeydown反馈
<script>
window.onkeydown = function() {
alert(window.event.keyCode);
}
</script>
<frameset onload="this.focus()" onblur="this.focus()">
<frame src="http://www.uol.com.br">
</frameset>
使用简单的代码下面我可以按下键,看看两者(警告窗口和窗体中的字母)。
<script>
window.onkeydown = function() {
alert(window.event.keyCode);
}
</script>
<input>
第一个代码块中是否存在缺失的内容? 谢谢!
点击劫持怎么办?当然,他们的攻击面很小(只需点击鼠标就能触发有意义的状态变化的页面),但它们仍然与XSS截然不同。 – Aurand
我同意你的看法,但这是我的观点:点击顶起是点击顶起,我不会称之为跨帧脚本。 XFS似乎混淆了几种不同类型的攻击之间的水域,而漏洞只属于一个类别(xss,浏览器错误或点击顶点)。我同意添加标题是一个好主意,尽管这可以在Web服务器级而不是应用程序完成。 – SilverlightFox
谢谢@SilverlightFox!我使用IE11测试了第一个代码,并且我可以看到带有按键的HTML代码的警报窗口。我可以使用ajax发出请求并将密钥代码发送到恶意站点。问题在于我无法在输入框中看到相应的字母,这意味着任何用户都会认为网站存在问题,因为他/她无法看到他们正在输入的内容。 –