前端安全 | 青训营笔记

102 阅读2分钟

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

前言

在本次课,主要讲了5种

  1. XSS(Cross-Site Scripting)脚本攻击漏洞;
  2. CSRF(Cross-sit request forgery)漏洞;
  3. sql注入
  4. Dos和DDOs
  5. 中间人攻击

1、XSS攻击

跨站脚本攻击指得是:恶意攻击者往Web页面里注入恶意Script代码,用户浏览这些网页时,就会执行其中的恶意代码,可对用户进行盗取cookie信息、会话劫持等各种攻击。

主要利用了盲目信任用户提交的内容

image.png

特点

  • 通常难以从UI上感知(暗地执行脚本)
  • 窃取用户信息(cookie/token)
  • 绘制UI(例如弹窗),诱骗用户点击/填写表单

这种不涉及数据库,单从url上进行攻击

防御:

前端框架基本预防了,服务端的也有npm包,用户强制动态生成DOM、可以上传SVG图片需注意。对输入的数据进行严格校验。限制字符串长度。

2、CSRF 跨站伪造请求

特点

  • 在用户不知情的前提下
  • 利用用户权限(cookie)
  • 构造指定HTTP请求,窃取或修改用户敏感信息

demo

image.png

防御: csp策略

原理其实就是白名单机制,开发者明确告诉浏览器哪些资源可以加载并执行,我们只需要提供配置,其他的工作由浏览器来完成。通过 < meta > 标签开启

image.png

3、sql注入

将SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令

image.png

demo

image.png

防御:

image.png

4、Dos和DDos

image.png

特点

  • 耗时的同步操作
  • 数据库写入
  • sQL join
  • 文件备份
  • 循环执行逻辑

防御:

image.png

image.png

5、中间人攻击

image.png

防御: https、数字签名、证书