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

78 阅读2分钟

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


课程介绍

  • 在网络时代下,Web 安全随处可见并且危害极大,Web 安全问题也越来越受到重视。基于此背景,本节课将从安全问题中「攻击者」的角色出发,讲解目前存在哪些技术手段将危害到 Web 安全。
  • 面临错综复杂的网络环境,在了解哪些手段会造成 Web 安全事故之后,本节课将通过第二种「防御者」角色的视角,剖析不同攻击手段的技术细节,帮助大家逐个击破安全漏洞,更好地维护 Web 安全。

课程重点

  1. Cross-Site Scripting(XSS)
  2. Cross-site request forgery(CSRF)
  3. Injection
  4. Denial of Service(DoS)
  5. Distributed DoS(DDoS)
  6. 中间人攻击
  7. XSS 的防御
  8. 防御 CSRF 的正确姿势
  9. 防御 DoS
  10. 防御 Injection
  11. 防御中间人

两个角度看Web安全

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

攻击篇

Cross-Site Scripting(XSS)
1.png
XSS主要利用了
2.png
XSS的一些特点行脚本)
  • 通常难以从UI上感知(暗地执行脚本)
  • 窃取用户信息(cookie/token)
  • 绘制UI(例如弹窗),诱骗用户点击/填写表单
XSS demo
3.png

可以直接提交恶意脚本

4.png
Stored XSS

Stored XSS

  • 恶意脚本被存在数据库中
  • 访问页面→读数据≡被攻击
  • 危害最大,对全部用户可见
5.1.png
Reflected XSS

Reflected

  • 不涉及数据库
  • 从URL上攻击
Reflected XSS Demo
6.png
DOM-based XSS

DOM-based XSS

  • 不需要服务器的参与
  • 恶意攻击的发起+执行,全在浏览器完成
DOM-based XSS Demo
7.png
Reflected vs Demo-based

完成注入脚本的地方

8.png
Mutation-based XSS

Mutation-based XSS

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

没人比我更懂浏览器

9.png
Cross-site request forgery(CSRF)
  • 在用户不知情的前提下
  • 利用用户权限(cookie)
  • 构造指定HTTP请求,窃取或修改用户敏感信息
CSRF demo
  • 用户没有访问银行页面
  • 银行页面中的特定接口被请求
  • 请求执行成功

防御篇

XSS
14.png
XSS--现成工具
15.png
CSRF--token
16.png
CSRF--iframe 攻击
17.png
HTTPS--完整性
18.png ## 引用参考 字节青训营第十一节课Web开发的安全之旅