• vue前端安全问题学习


    8大典型的前端安全问题
    1.XSS攻击:跨站脚本攻击(Cross-Site Scripting)
    本质原因:浏览器错误的将攻击者提供的用户输入数据当做JavaScript脚本给执行了
    XSS分类,按照恶意输入的脚本是否在应用中存储,XSS被划分为“存储型XSS”和“反射型XSS”,
    按照是否和服务器有交互,又可以划分为“Server Side XSS”和“DOM based XSS”。
    利用XSS漏洞来窃取包括用户身份信息在内的各种敏感信息、修改Web页面以欺骗用户,
    甚至控制受害者浏览器,或者和其他漏洞结合起来形成蠕虫攻击,等等。
    解决方法: (1)对数据进行严格的输出编码,使得攻击者提供的数据不再被浏览器认为是脚本而被误执行。
    (2)设置CSP HTTP Header(csp内容安全策略)CSP可以完全禁止内联的JavaScript
    (3)输入验证
    (4)开启浏览器XSS防御等等

    需要根据输出数据所在的上下文来进行相应的编码
    由于数据将被放置于HTML元素中,因此进行的是HTML编码,
    而如果数据将被放置于URL中,则需要进行URL编码,将其变为%3Cscript%3E。
    此外,还有JavaScript编码、CSS编码、HTML属性编码、JSON编码等等。

    2.iframe风险
    场景: 有些时候我们的前端页面需要用到第三方提供的页面组件,通常会以iframe的方式引入
    iframe中的内容是由第三方来提供的,默认情况下他们不受我们的控制,
    他们可以在iframe中运行JavaScirpt脚本、Flash插件、弹出对话框等等,这可能会破坏前端用户体验。
    如果iframe中的域名因为过期而被恶意攻击者抢注,或者第三方被黑客攻破,iframe中的内容被替换掉了,
    从而利用用户浏览器中的安全漏洞下载安装木马、恶意勒索软件等等
    解决方法:iframe有了一个叫做sandbox的安全属性,通过它可以对iframe的行为进行各种限制,
    充分实现“最小权限“原则。sandbox属性支持细化参数配置
    (但是只能显示静态资源,iframe中的页面访问它自己的服务器都会被算作跨域请求)
    3.点击劫持(被iframe使用)
    场景:攻击者设计的小游戏,第三方引入我们的页面透明度为0,诱导用户点击
    解决方法:修改web服务器配置
    4.错误的内容推断
    场景:前端上传图片,攻击者上传脚本文件成功,浏览器在请求到该脚本,然后浏览器默认会根据响应的内容
    进行推断其内容类型,类型为脚本文件执行
    解决方法:(1)后端服务器响应配置 (2)自己的 前端避免啊
    5.不安全的第三方依赖包
    6.https 保护信息在传输过程中不被泄露
    场景:一般情况 用户直接从域名开始输入地址 默认是http 第一次的请求被攻击者(黑客)拦截,
    (正常下,服务器端返回的是跳转到HTTPS页面的响应, 是这个被拦截了) 后,代替客户端和服务器端进行后续的通信
    7.本地存储数据泄露
    场景:一些软件 支持离线模式 同时这个软件可以被XSS攻击,信息可能泄露
    8.乏静态资源完整性校验
    场景:前端应用通常会把一些静态资源存放到CDN(Content Delivery Networks)上,CDN被劫持了

  • 相关阅读:
    自定义 ClassLoader
    HashCode 解析
    Unsafe与CAS
    ReentrantLock实现原理深入探究
    javaNIO:选择器--实践 Selector
    javaNIO:选择器--理论 Selector
    javaNIO:Socket通道
    CentOs 7 kong 2.3.X oss 自定义插件
    CentOs 7 kong 2.3.X oss 部署安装
    CentOS7 yum安装、配置PostgreSQL 9.6
  • 原文地址:https://www.cnblogs.com/xy88/p/15944320.html
Copyright © 2020-2023  润新知