第九部分 Web开发的安全之旅 | 青训营笔记

63 阅读2分钟

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

QQ截图20220801222119.png

从两个角度看待Web安全

加入你是一个hacker--攻击 加入你是一个开发者--防御

1.XSS攻击

特点:

  • 通常难以从UI上感知(暗地执行脚本)
  • 窃取用户信息(cookie/token)
  • 绘制UI(例如弹窗),诱骗用户点击/填写表单

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

存储型

QQ截图20220801222119.png

反射型

QQ截图20220801222119.png

QQ截图20220801222119.png

基于DOM的攻击

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

基于Mutation的攻击

QQ截图20220801222119.png

QQ截图20220801222119.png

2.Cross

特点:

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

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

3.Injection

特点:

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

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

4.正则表达式-贪婪模式

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

特点

  • 直接访问IP
  • 任意API
  • 消耗大量带宽

5.中间人攻击

QQ截图20220801222119.png

6.防御-XSS

目前的主流框架都默认防御这种攻击。不过如果真有这种需求的话,就需要对对应的文件进行扫描了。也不要让用户自定义跳转链接。

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

1.解决方案

QQ截图20220801222119.png

2.解决方案

QQ截图20220801222119.png

QQ截图20220801222119.png

做好过滤

QQ截图20220801222119.png

7.OP同源

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

同源才能执行

8.CSRF防御

我们需要设定哪些域名是安全的,对于对服务端来说不安全的域名我们直接拒绝访问,就可以了。我们在所有接口中对请求进行校验,否则就拒绝。

我们还可以用SameSite Cookie属性,来防止其他页面带上该页面的cookie。

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

9.对于SQL注入的防御

那对于这种数据库形式的攻击,我们就要保证最小权限原则,并且建立允许名单+过滤,并对于URL类型参数进行协议等限制。

QQ截图20220801222119.png

QQ截图20220801222119.png

10.对于DOS的防御

那么很简单,对于正则表达式需要进行检查,或者干脆直接禁用用户使用正则表达式就可以了。

QQ截图20220801222119.png

11.DDOS

我们可以在网关层进行恶意流量识别,也可以在CDN进行过滤。一旦被流量攻击,我们可以使用快速自动扩容技术抵御攻击。

QQ截图20220801222119.png

12.传输层防御

QQ截图20220801222119.png

QQ截图20220801222119.png

13.HTTPS大致流程

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png

QQ截图20220801222119.png