WEB开发的安全之旅 | 青训营笔记

51 阅读2分钟

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

两个角度(hacker/developer)

攻击篇

Cross-Site Scripting(XSS):注入恶意脚本

  • 通常难以从 UI上感知(暗地执行脚本)
  • 窃取用户信息 (cookie/token)
  • 绘制 UI(例如弹窗),诱骗用户点击/填写表单 输入函数没有过滤时,渲染后可能就完成了一次HTML修改

image.png

Stored XSS:会被存到数据库中,写数据后就会通过链路传入(所有用户都可能会被攻击)

image.png

Reflected XSS:反射型

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

image.png

DOM-based XSS

  • 不需要服务器的参与
  • 恶意攻击的发起+执行,全在浏览器完成

image.png

两者比较相似,区别在于完成脚本注入的地方

image.png

Mutation-based XSS

  • 利用了浏览器染 DOM 的特性(独特优化)
  • 不同浏览器,会有区别(按浏览器进行攻击) 下图就是利用chrome对于noscript内部的p渲染方式进行攻击: image.png

Cross-site request forgery(CSRF):跨站伪造请求

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

如恶意页面拿着用户信息去请求银行接口

image.png

image.png

Injection:注入攻击

image.png

如果在用户名中恶意使用drop table,可以获得删库跑路的 成就

image.png

注入并不局限于SQL

  • CLI
  • OS command
  • Server-Side Request Forgery(SSRF),服务端伪造请求严格而言,SSRF 不是 injection,但是原理类似

image.png

image.png

image.png

image.png

Denial of Service(DoS):通过某种方式(构造特定请求),导致服务器资源被显著消耗来不及响应更多请求,导致请求挤压,进而雪崩效应。

image.png

中间人攻击(恶意浏览器,路由器)

image.png

标题:Web 开发安全 - 攻击篇 - 掘金

网址:juejin.cn/course/byte…