黑帽来源页劫持代码以及如何防范

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

黑帽来源页劫持代码以及如何防范

Dykimy   2019-11-20 我要评论

今天在群里看到一个朋友的企业站点的 友链目标站点 被篡改后,点击友链目标站点导致当前页面被劫持了的问题,然后在网上搜索了一下。

总结如下:
默认情况下当在页面中打开新页面的时候,新的浏览上下文会对来源页窗口有控制权限 window.opener ,通过该属性可以实现跳转来源页窗口的地址。

A页面代码:

<a href="B页面地址"  target="_blank" >链接</a>

B页面代码:

if (window.opener) {
   window.opener.location = "https://www.cnblogs.comhttps://img.qb5200.com/download-x/dykimy";
}

当用户从A页面跳转到B页面的时候,A页面将会自动跳转到 https://www.cnblogs.comhttps://img.qb5200.com/download-x/dykimy 这就实现了某些黑帽的目的。


如何应对这种流氓的B页面呢?
只需要将A页面代码改为如下即可

<a href="B页面地址"  target="_blank" rel="noopener">链接</a>

noopener 作用:指示浏览器打开链接而不授予新的浏览上下文对打开它的文档的访问权限-通过在打开的窗口中不设置 window.opener 属性(返回 null )。

参考网址(HTML 链接类型):https:/https://img.qb5200.com/download-x/developer.mozilla.org/zh-CNhttps://img.qb5200.com/download-x/docs/Web/HTML/Link_types
参考网址(stackoverflow相关问题讨论):https://stackoverflow.com/questions/50709625/link-with-target-blank-and-rel-noopener-noreferrer-still-vulnerable/50709760

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们