标签:XSS vue 浏览器 编码 前端 学习 iframe 攻击者 页面
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被劫持了
标签:XSS,vue,浏览器,编码,前端,学习,iframe,攻击者,页面 来源: https://www.cnblogs.com/xy88/p/15944320.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。