Web开发安全篇 | 青训营笔记

89 阅读2分钟
  • 这是我参与第五届青训营伴学笔记创作活动的第13天

攻击篇

Cross-Site Scrioting(XXS)

  • 跨站脚本攻击 image.png image.png
  • 特点
    • 通常难以从UI上感知
    • 窃取用户信息
    • 绘制弹窗,诱骗用户点击/填写表单
  • 类型
    • Stored XSS 存储型攻击
      • 恶意脚本存入数据库
      • 访问页面->读数据
      • 危害最大,所有用户

image.png - Reflected XSS - 不涉及数据库 - 从URL上攻击 - Mutatin-based XSS - 利用浏览器渲染DOM特性 - 不同浏览器会有不同 image.png - DOM-based-XSS - 不需要服务器参与 - 恶意攻击发起+执行,全在浏览器完成

image.png

Cross-Site request forgery(CSRF)

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

image.png

iframe攻击

image.png

anti-pattern

image.png

SQL injection

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

image.png

image.png

image.png

Denial of Service(Dos)

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

正则表达式--贪婪模式

Distributed Dos(DDos)

  • 短时间大量僵尸请求流量,服务器不能及时处理,请求堆积,雪崩效应
  • 不搞复杂量大完事儿

image.png

传输层攻击(中间人攻击)

image.png

防御篇

XSS 的防御

image.png

  • 主流框架默认防御 XSS
  • google-closure-library服务端(Node)
  • DOMPurify

  • 必须动态生成DOM,留意以下
    • 调用了DOMparser
    • 上传svg文件,对svg进行扫描
    • Blob动态生成script
    • 自定义样式

同源策略Same-origin Policy

  • 对http请求同源一般都是没问题的 image.png

Content Security Policy(CSP)

image.png

image.png

防御 CSRF 的正确姿势

  • Referer image.png
  • token防御 image.png
  • 避免用用户信息被携带 SameSite Cookie

image.png

  • SameSite VS CORS

image.png

  • Case by Case?No

image.png

防御 DoS

  • Regex DoS

image.png

  • DDos

image.png

防御 Injection

image.png

防御中间人

image.png

Subresouce intergrity(SRI)

image.png

HTTPS特性

image.png

数字签名

image.png

HTTP Strict-Transport-Security(HSTS)

image.png

尾声

image.png