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

119 阅读1分钟

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

从两个角度看Web安全

  • 假如你是一个hacker--攻击
  • 假如你是一个开发者--防御

攻击篇

Cross-Sitr Scripting(XSS)

1659231016786.png XSS主要利用了

1659231076899.png XSS的一些特点

image.png

Stored XSS(存储型)

  • 恶意脚本被存在数据库中
  • 访问页面 -> 读数据 === 被攻击
  • 危害最大,对全部用户可见

Reflected XSS

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

Reflected XSS Demo 1659231650492.png

DOM-based XSS

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

DOM-based XSS Demo 1659231866861.png

Relected vs DOM-based image.png

mutation-based XSS

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

1659232457127.png

Cross-site request forgery(CSRF)

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

CSRF demo 1659232559424.png

CSRF--GET 1659232684655.png

CSRF--beyond GET 1659232748842.png

injection

SQL Injection 1659232827904.png injection demo 1659232873071.png **injection 不止于 SQL

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

injection demo2--读取 + 修改 1659233020046.png SSRF demo 1659233070380.png Denial of Service(DOS) 通过某种方式(构造特定请求),导致服务器资源被显著消耗,来不及响应更多请求,导致请求挤压,进而雪崩效应