【青训营】Web开发安全

60 阅读1分钟

这是我参与「第四届青训营 」笔记创作活动的的第5天

前言

Web安全非常常见,它会危害用户、公司甚至程序员,一定要重视安全问题。

两个角度

1. 攻击者

跨站脚本攻击(cross-site scripting)-XSS

在开发界面,通过一种方式把恶意脚本注入进来,当用户访问页面时,脚本会被执行,被攻击可能会造成用户信息泄露。

  • XSS主要利用
    • 开发者盲目信息用户输入的信息。
    • 前端工程师把用户输入的字符串直接转化为DOM。

image.png

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

image.png

  • XSS的类别(按照性质)
    • stored XSS(存储型)
      1. 恶意脚本被存储数据库
      2. 访问页面--读数据--被攻击
      3. 危害最大,对全部用户可见
    • reflected XSS(反射型)
      1. 不涉及数据库
      2. 从URL入手

image.png

    • DOM-based XSS
      1. 不需要服务器的参与。
      2. 恶意攻击的发起+执行,全在浏览器完成。 反射型和基于DOM的区别: 注入脚本的位置:反射型在server,基于dom的在浏览器端。

image.png

    • Mutation-based XSS(突变)
    1. 利用浏览器渲染DOM的特性(独特优化)
    2. 不同浏览器,会有区别(按照浏览器进行攻击)

Cross—Site Request Forgery(CSRF)跨站伪造请求

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

image.png 成本非常低,比如一个假的中奖链接。

inject注入

  • SQL注入

image.png

image.png

image.png