Web 开发安全 | 青训营笔记

72 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第17天

课程概述

从攻击,防御两个视角,简要介绍了前端范畴内常见的安全问题,包括XSS,CSRF,SQL注入,DOS等

XSS攻击

跨站脚本攻击(XSS):注入恶意脚本

XSS攻击分为

  • 反射型XSS

  • 存储型XSS

  • DOM型XSS

  • 突变型XSS XSS防范措施 XSS攻击主要有两大步骤:

  • 攻击者提交恶意代码

  • 浏览器执行恶意代码

所以我们可以针对这两点来制定防范措施:

预防存储型和反射型 XSS 攻击

  • 改成纯前端渲染,把代码和数据分隔开。
  • 对 HTML 做充分转义。

预防 DOM 型 XSS 攻击

在使用 .innerHTML.outerHTMLdocument.write() 时要特别小心,,尽量使用 .textContent.setAttribute(),不要把不可信的数据作为 HTML 插到页面上

CSRF

CSRF(Cross-site request forgery)跨站请求伪造:攻击者诱导受害者进入第三方网站,在第三方网站中,向被攻击网站发送跨站请求。利用受害者在被攻击网站已经获取的注册凭证,绕过后台的用户验证,达到冒充用户对被攻击的网站执行某项操作的目的

CSRF分为

  • GET 类型的CSRF
  • POST 类型的CSRF
  • 链接 类型的CSRF

CSRF防范措施

同源检测:通过设置检测OriginHeader CSRF Token:将服务器生成的随机字符串植入到返回的页面中

SQL注入

SQL注入:用户在能够控制SQL查询、更新、插入、删除等语句的参数的情况下,攻击者通过构造特殊的输入字符串使后端程序错误地识别SQL查询语句中的代码与数据部分从而导致数据库管理系统输出了非预期的结果的一种行为

DOS

DoS(Denial of Service) :拒绝服务,造成DoS的攻击行为被称为DoS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DoS攻击有计算机网络宽带攻击和连通性攻击。 防范措施

  • 定期扫描
  • 在骨干节点配置防火墙
  • 用足够的机器承受黑客攻击
  • 充分利用网络设备保护网络资源
  • 过滤不必要的服务和端口