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

100 阅读2分钟

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

假如你是一个hacker

攻击篇

一、Cross-Site Scripting(XSS)

image.png

XSS 主要利用了

image.png

XSS 的一些特点

⭐ 通常难以从 UI 上感知 (暗地执行脚本)

窃取用户信息 (cookie/token)

⭐ 绘制UI (例如弹窗),诱骗用户点击/填写表单

XSS 的种类

Stored XSS

⭐ 恶意脚本被存在数据库中

⭐ 访问页面 → 读数据 = 被攻击

⭐ 危害最大,对全部用户可见 image.png image.png

Reflected XSS

不涉及数据库

⭐ 从 URL 上攻击

image.png

DOM-based XSS

不需要服务器的参与

⭐ 恶意攻击的发起 + 执行,全在浏览器完成

image.png

Mutation-based XSS

⭐ 利用了浏览器渲染DOM的特性 (独特优化)

⭐ 不同浏览器,会有区别 (按浏览器进行攻击)

image.png

二、Cross-site request forgery(CSRF)

⭐ 在用户不知情的前提下

⭐ 利用用户权限 (cookie)

⭐ 改造指定HTTP请求,窃取或修改用户敏感信息

image.png

三、Injection

SQL Injection

image.png
  1. 读取请求字段
  2. 直接以字符串的形式拼接SQL语句
image.png

Injection 不止于 SQL

⭐ CLI

⭐ OS command

⭐ Server-Side Request Forgery (SSRF),服务端伪造请求。严格而言,SSRF 不是injection,但是原理类似。

四 Denial of Service(DOS)

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

插播:正则表达式——贪婪模式

⭐ 重复匹配时「?」vs 「no ?」:满足一个即可 vs 尽量多

image.png

ReDos:基于正则表达式的Dos

贪婪:n次不行?n - 1 次在试试? —— 回溯

image.png

⭐ 导致响应时间大大延长,接口吞吐量明显降低。

Logical Dos

⭐ 耗时的同步操作

⭐ 数据库写入

⭐ SQL join

⭐ 文件备份

⭐ 循环执行逻辑

image.png

Distributed Dos(DDos)

DDos:短时间内,来自大量僵尸设备的请求流量,服务器不能及时完成全部请求,导致请求堆积,进而请求堆积,进而雪崩效应,无法响应新请求。(不搞复杂的,量大就完事了) ⭐ 直接访问 IP

⭐ 任意 API

⭐ 消耗大量带宽 (耗尽)

image.png

中间人攻击

⭐ 明文传输

⭐ 信息篡改不可知

⭐ 对方身份为验证

image.png