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

69 阅读2分钟

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

攻击篇

Cross-Site Scripting(XSS)

原理:利用了开发者盲目信任用户的内容,直接转化成dom。

XSS的特点:

  • 难以从UI上进行感知,一般都是暗地里执行脚本。
  • 会窃取用户的信息,比如cookie/token这些。
  • 可能会绘制UI,比如说弹窗,以此来诱骗用户填入关键信息。

Stored XSS

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

Reflected XSS

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

DOM-based XSS

  • 不需要服务器的参与
  • 恶意攻击的发起和执行都在浏览器进行

Mutation-based XSS

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

CSRF(Cross-site request forgery)

原理:跨站伪造请求进行攻击

特点

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

Injection

原理:注入相关代码进行操作以此来攻击。

SQL Injection

image.png

除了SQL Injection 还有许多的Injection

image.png

DoS(Denial of Service)

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

ReDoS 基于正则表达式的DoS攻击

利用正则表达式的贪婪性

logic DoS

image.png

DDoS

原理:僵尸机器大量访问服务器,但不回应,导致服务器不能响应全部的请求,导致请求堆积,进而雪崩效应,无法响应新的请求。 总结一句话说就是:量大就完事了

基于传输层的攻击

中间人攻击:处于客户端和服务端中间,将信息截取、篡改、发送。