XSS ( cross-site-scripting ),跨站脚本攻击;注入恶意代码到网页,并使用户加载执行,目的可能是获取当前用户的在这个网站的cookie,从而拿到用户的敏感信息;

分为非持久性攻击和持久性攻击;

非持久性攻击:即时性,恶意代码不需要存在数据库中去;每次设置都可能触发一次xss攻击;

场景:

恶意代码一
http://abcd.com?q=<script>alert(document.cookie)</script> // 不成功,因为浏览器已经对script等一些危险标签的插入做了拦截过滤恶意代码二
http://abcd.com?q=<img src="" onerror="alert(document.cookie)" />  // 成功获取cookie

把src设置为空,这样就会触发onerror事件,弹出cookie;

持久性:将恶意代码存入数据库中;

XSS防御措施

使用html转义;对所有外部插入的代码做一次转义,将script等危险标签做过滤和转义替换,同时尽量避免会用innerHtml、documnet.write、outerHtml等,而是使用安全性更高的textContent等;

开启CSP防护,在http响应头中设置content-security-policy属性:

当属性值设置为script-src ‘self’

Content-Security-Policy:script-src ‘self’

不允许内联脚本加载执行,禁止加载外域代码,禁止外域提交;

CSRF(cross-site request forgery),跨站请求伪造

流程:

用户登录目标网站a;

用户以某种方式接触到恶意网站b的链接;

用户点击链接访问网站b,网站b中的js代码执行,偷偷向目标网站b发送某个请求;

由于用户登录过网站a,因此请求携带了网站a的相关cookie’凭证,最后请求执行;

场景:

<img src="A.com/delete" style="visibility:hidden"/>

假如b网站有这么一段代码,就会删除用户在a网站的数据;

CSRF防御措施

1.设置cookie的SameSite属性;

设置方法:

Set-cookie:widget_session=abc123;SameSite=None;Secure

除了设置值以外,还要设置SameSite属性;

有3个属性值:

strict:跨站点时,任何情况都不会发送cookie,只有当前网页的url与请求目标一致时,才会带上cookie;

lax:大多数情况下额不发送第三方cookie;

None:表示关闭samesite属性;

2.csrf token

服务端算法生成token,返回给前端,前端保存在localstrorage或者sessionstrorage中,会后每次发送请求都会带上这个token,而第三方网站没有办法获取token,因此服务器可以识别是否为第三方的请求;

3.手机验证码、邮箱验证,进行二次验证;

常见前端安全问题以及防御措施相关推荐

  1. Web安全:常见的安全问题及防范措施

    前言 随着互联网的高速发展,信息安全问题已经成为行业最为关注的焦点之一.总的来说安全是很复杂的一个领域,在移动互联网时代,前端人员除了传统的 XSS.CSRF 等安全问题之外,还时常遭遇网络劫持.非法 ...

  2. 前端安全问题及防范措施

    在现代 Web 应用程序开发中,前端安全问题备受关注.前端安全问题主要包括 XSS 攻击.CSRF 攻击.SQL 注入等.这篇文章将介绍这些安全问题以及如何防范它们,帮助读者更好地保护前端应用程序的安 ...

  3. 常见的DNS攻击与相应的防御措施

    DNS查询通常都是基于UDP的,这就导致了在查询过程中验证机制的缺失,黑客很容易利用该漏洞进行分析.DNS服务可能面临如下DNS攻击风险: 黑客伪造客户端源IP地址发送大量的DNS请求报文,造成DNS ...

  4. Web前端攻击方式及防御措施

    一.XSS [Cross Site Script]跨站脚本攻击 恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户 ...

  5. 常见的前端安全问题(xss / csrf / sql / ddos / cdn...)

    目录 1. xss(Cross Site Scripting)跨站脚本攻击 1.1 持久型(存储型)攻击 / 非持久型(反射型)攻击 是什么? 1.2 xss 出现的场景?造成的危害? 1.3 防御 ...

  6. 常见漏洞的防御措施整理

    文章目录 0x01 注入攻击 风险说明 预防措施 0x02 文件上传漏洞 系统运行时的防御 系统开发阶段的防御 系统维护阶段 0x03 认证会话管理 0x04 访问控制 风险说明 防御措施 0x05 ...

  7. 文件上传漏洞总结(含原因+防御措施)+白名单+黑名单+内容、头+解析漏洞/修补方案

    文件上传漏洞简单总结+白名单+黑名单+内容.头+解析漏洞/修补方案 问题 什么是文件上传漏洞? 危害? 防御措施? 文件上传(验证/绕过)措施? 前端 js类绕过? 后端 黑名单绕过 特殊解析后缀 . ...

  8. 如何解决Web前端安全问题?

    我国网络技术水平的提升,带动着WEB前端业务量的显著增长,人们对于网络服务的需求也日益复杂,与此同时,越来越多的黑客出现,其攻击水平也有了明显提升,WEB前端也成为了众多黑客进行网络攻击的主要目标. ...

  9. 汽车车内CAN总线 网络安全分析及防御措施

       汽车车内CAN总线网络安全分析及防御措施智能化和信息化的发展,汽车电气系统变得日益复杂,当前汽车普遍拥有数十个电子控制单元(ECU),一辆高级轿车运行代码接近1亿行,而这些车载信息是通过车内总线 ...

最新文章

  1. Java发送邮件工具类(可发送匿名邮件)
  2. 团队作业——随堂小测(同学录)
  3. oracle 体系结构认识,Oracle数据库体系结构简单认识一
  4. AtCoder Beginner Contest 096 题解
  5. java笔记类与对象3.7-3.10 2020.3.17
  6. 二维数组数组名的使用
  7. leetcode 1338. Reduce Array Size to The Half | 1338. 数组大小减半(Java)
  8. python爬虫京东中文乱码_python3爬虫中文乱码之请求头‘Accept-Encoding’:br 的问题...
  9. 抽象工厂和工厂方法示例_工厂方法设计模式示例
  10. 易语言 网页用什么编码_通常提到的编码器是干什么用的
  11. 函数sigsuspend
  12. Spring AOP是什么?
  13. (五)洞悉linux下的Netfilteriptables:如何理解连接跟踪机制?(1)
  14. mysql自增id 重置
  15. Cadence画PCB的傻瓜式教程
  16. 使用C++对himawari8(9)卫星数据的读取
  17. Dbeaver Phoenix 各种报错
  18. po vo pojo domain 区别
  19. Android12之OpenSL ES中IObject_Realize和CEngine_Realize区别(十四)
  20. plc串口通讯 qt_Qt 编写串口调试助手

热门文章

  1. git pull不用每次都输入密码了。
  2. 30万“被消失”的视障用户,如何在淘宝剁手盖楼?
  3. Java代码实现朋友圈动态查询-数据分组查询再合并
  4. 网站转换率如何提高?知道这四点足矣!
  5. 分布式系统架构经典资料--左耳
  6. 数据上云|OneMO DTU数传模组接入OneNET云平台操作详细过程
  7. 关于日文和中文系统乱码的问题
  8. Spark中组件Mllib的学习41之保序回归(Isotonic regression)
  9. 微信客服之qq消息提醒
  10. 专栏总结java4:线程和线程池