Web开发安全 | 青训营笔记

30 阅读1分钟

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

攻击篇

XSS

在网页中提交<script>alert("xss")</script>,并且代码没有将用户提交的内容进行过滤/转义,直接转换为了DOM。 特点:

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

image (13).png

image (14).png

image (15).png

Stored XSS

  • 恶意脚本被存放在数据库中
  • 访问页面读取数据时被攻击
  • 危害大对全部用户可见

Reflected XSS

  • 不涉及数据库
  • 从URL上攻击

image (16).png

image (17).png

DOM-based XSS

-不需要服务器的参与

  • 恶意攻击发起并执行,全在浏览器完成

image (18).png

image (19).png 完成注入脚本的地方

image (20).png Muatation-based XSS

  • 利用了浏览器渲染DOM的特性(独特优化)
  • 不同浏览器,会有区别(按浏览器进行攻击)

image (21).png

image (22).png

Cross-斯特request forgery(CSRF)

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

CSRFdemo.png

image (23).png

image (24).png

image (25).png

SQL Injection

sql injection.png

  • 读取请求字段,直接以字符串的形式拼接SQL语句

image (26).png

image (27).png

image (18).png 被动删库

防御篇

XSS

  • 永远不信任用户提交的内容
  • 不要将用户提交的内容直接换成DOM