关于 target="_blank"漏洞的分析  一、漏洞详情:
首先攻击者能够将链接(指向攻击者自己控制的页面的,该被控页面的js脚本可以对母页面进行部分权限操控,如跳转:opener.location)存储在应用上,并展现给受害者,诱导受害者点击,才能继续后续攻击;
漏洞根源:浏览器支持该功能;  二、防御方法:  有两种方法:       1、在用户输入链接的文本编辑器内和跳转链接时,将链接内容自动添加 rel=noopener特性(该特性不同浏览器支持情况不同,可以对不同浏览器添加不同的特性,如火狐还需添加 noreferrer特性;在一些老浏览器里面不支持这个属性,就可以通过js 手动设置 opener 为 null 来解决:
var newWnd = window.open();
newWnd.opener = null;
newWnd.location = url;
        2、在处理点击链接时,不在新窗口打开,而是在老窗口刷新(a标签不加target="_blank"  ;但该方法可能和国内用户使用习惯有冲突) 另,该漏洞属于浏览器漏洞,彻底杜绝的方法只能是浏览器不支持该特性;以上方法只是减少我们应用带给用户的风险,但如果其他应用存在该问题,用户依然会遭到钓鱼攻击,从而泄漏用户的各种信息;我们查看了百度、阿里等现有应用,均存在此问题;综上,个人觉得该漏洞的修复需求对我们并不高;

-------------------------------分割线-----------------------------------

今天看到知道创宇前端公众号有关于这个漏洞的分析,

再拿出来对比一下

关于 target="_blank"漏洞的分析的更多相关文章

  1. target='_blank' 安全漏洞

    有关 target="_blank" 的安全缺陷 可能大家在写网页的时候经常给超链接加个属性 target="_blank",意思就是在浏览器新的窗口打开此超链 ...

  2. target="_blank" 导致的钓鱼攻击

    挺久的漏洞,之前没仔细看现在看了下 直接构建实验环境: test1.html: <!DOCTYPE html> <html> <head> <meta cha ...

  3. jsp中target="_blank"的用法

    对于点击查询按钮或a标签等,打开一个新页面并显示结果的做法如下: 1.form表单: 在form标签上加target="_blank"后,点击搜索按钮,显示查询结果时会打开一个新页 ...

  4. target="_blank"

    target="_blank":出现在<a target="_blank" href="http://">中,在开发中,在一个系 ...

  5. [web安全]Web应用漏洞攻击分析与防范

    网站攻击主要分为以下几类: (1) sql注入攻击 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.它是利 ...

  6. wkwebview a target="_blank" 打不开链接的解决方案

    - (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigatio ...

  7. Google发布SSLv3漏洞简要分析报告

    今天上午,Google发布了一份关于SSLv3漏洞的简要分析报告.根据Google的说法,该漏洞贯穿于所有的SSLv3版本中,利用该漏洞,黑客可以通过中间人攻击等类似的方式(只要劫持到的数据加密两端均 ...

  8. HTML <base> 标签的 target 属性 —— <base target="_blank" />

    为页面上所有链接规定默认目标: <head> <base target="_blank" /> </head> <body> < ...

  9. <base target="_blank"/>

    <base target=_blank> 是将基本链接的目标框架都改为新页打开

随机推荐

  1. CentOS7修改主机名(hostname)

    Linux中的hostname在大多数应用中至为重要,例如有些应用强制使用主机名称而不能使用IP地址,如果默认主机名称都为localhost.localdomain 的话那一定会出现问题,而且看起来也 ...

  2. 【转】Linux从入门到精通——运维工程师成长路线图——CTO马哥Linux视频教学

    加油! http://edu.51cto.com/roadmap/view/id-2.html#6853467-sqq-1-36881-57ccc7d95ea58df839decd91bd220170

  3. 关系类型字段 -- Django从入门到精通系列教程

    该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...

  4. 1.Tarball软件make与makefile详解(还需要补充)

    *通常自己安装的软件放在 /usr/local/软件名   中,而将源文件放在/usr/local/src *为安装到单独目录的软件之 man page 加入 man path 搜寻: 如果你安装的软 ...

  5. 《.NET 设计规范》第 3 章 命名规范

    <.NET 规范>第 3 章 命名规范 3.1 大小写约定 要把 PascalCasing 用于由多个单词构成的命名空间.类型以及成员的名字. 要把 camelCasing 用于参数的名字 ...

  6. 配置apache使之支持浏览器端的缓存

    当直接在浏览器中输入一个URL,或者点击一个链接的时候,那么浏览器缓存就会起作用,如果缓存没有过期,那么浏览器会从本地读取资源,不会发起HTTP请求,如果缓存过期,那么浏览器会发起新的浏览器请求. 一 ...

  7. 使用Z3破解简单的XOR加密

    使用Z3破解简单的XOR加密 翻译:无名侠 原文地址: https://yurichev.com/blog/XOR_Z3/ 如果我们有一段用简单XOR加密过的文本,怎么寻找密钥呢?密钥的长度可能很长, ...

  8. python小白之路

    阅读目录: 第一章:计算机基础 计算机硬件.操作系统.网络协议 第二章:python基础 初识python.常量变量.输入输出运算符.条件与循环语句.数字与字符串.列表与字典.元组与集合.阶段小测.字 ...

  9. 使用.bat来执行Java程序基础

    将java程序做成可运行的jar后,又希望使用.bat文件来调用jar时,有几点需要注意的. 1.设置path和classpath .bat文件中扥的内容如下: @echo off set MY_HO ...

  10. python基础 列表 的使用

    列表 首先定义一个列表 声明列表 列表名字=[值1,值2] list=[1,2,3,4,5] 这是一个列表,列表中有五个元素(1,2,3,4,5) 显示list列表 print   list 输出   ...