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

72 阅读1分钟

在攻击篇了解到目前存在哪些技术手段将危害到 Web 安全。在防御篇学习不同攻击手段的技术细节,通过以上学习,更好地维护 Web 安全。

1、攻击篇:

XSS:

  • 存储型攻击:恶意脚本会被存在数据库中
  • 反射型攻击reflected:在server端完成注入脚本
  • 基于DOM的攻击: 在browser端完成插入。
  • Mutation-based攻击:利用了浏览器渲染DOM的特性,不同浏览器会有区别。

CSRF跨站请求:

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

Injection注入:

DoS(拒绝服务) : Denial of Service

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

2、防御篇:

针对XSS攻击:

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

SoP(同源策略):Same-origin Policy

同源请求没问题,跨域请求要看请求类型以及对应服务器的配置。

CSP(内容安全策略):Content Security Policy

  • 哪些源(域名)被认为是安全的
  • 来自安全源的脚本可以执行,否则直接抛错
  • 对eval+inline script 说 no!!!!

CSRF的防御:

除了Origin + Referer,,其他判断【 请求来自于合法来源】的方式:

先有页面,后有请求

Injection防御:

  • 找到项目中查询SQL的地方
  • 使用prepared statement

除了SQL,其他的注入防御:

正则DoS防御:

避免贪婪。。。

DDoS防御:

HTTPS特性:

  • 可靠性:加密
  • 完整性:MAC验证
  • 不可抵赖性:数字签名

TLS握手: