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

171 阅读2分钟

Web开发的安全之旅青训营笔记\color{green}{Web开发的安全之旅|青训营笔记}

这是我参与「第四届青训营」笔记创作活动的第一天\color{blue}{这是我参与「第四届青训营 」笔记创作活动的第一天}

Web安全存在哪些攻击?\color{blue}{Web安全存在哪些攻击?}

.XSS攻击\color{blue}{ 一. XSS攻击}

1.XSS的原理及产生原因:\color{orange}{1. XSS的原理及产生原因:}

XSS是通过浏览器对网站页面插入恶意交互脚本获取其他用户浏览器当前渲染的账户信息。发生的原因主要是因为开发者盲目信任用户的提交内容,以及把用户提交的内容转换为DOM并解析。

2.XSS特点:\color{orange}{2. XSS特点:}

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

3.XSS分类\color{orange}{3. XSS分类}
(1)存储型XSS(Stored XSS)

把恶意脚本存储到被攻击者网站的数据库。其他人访问数据库中的恶意脚本代码后,浏览器执行 恶意脚本,被攻击。存储式攻击不止一次攻击,并且被攻击的人不止一个,影响范围大。

(2)反射型XSS(Reflected XSS)

特点:不涉及数据库,从URL上攻击。

攻击例子:

QQ图片20220802122557.png

(3)DOM型XSS

特点:不需要服务器的参与,恶意攻击的发起+执行,全在浏览器完成

攻击例子:

image.png

(4)突变型XSS(Mutation XSS)

特点:利用浏览器渲染DOM的特性(独特优化) 不同浏览器,会有区别(按浏览器进行攻击。

二:CSRF攻击\color{blue}{二: CSRF攻击}

特点:在用户不知情的前提下,利用用户权限,构造指定HTTP请求,窃取或切改用户敏感信息

攻击例子:

ELB}MM5AQ1T8{@PZ5GT1}2K.png

三:SQLInjection攻击\color{blue}{三:SQL Injection攻击}

SQL Injection又叫做数据库注入,通常直接在请求体中写SQL参数或者SQL命令,已达到清楚数据库、转发、修改数据的目的。

  • 注入攻击不仅可以用于SQL服务端,在CLI脚手架、OS命令行等都可以运用。
  • SSRF(Server-Side Request Forgery)严格来说不算注入,但原理相似。 攻击例子:

5(BHUZAK)BFPZTHNCXFXE8I.png

四:Dos攻击\color{blue}{四:Dos攻击}

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

  • ReDoS:基于正则表达式的DoS:

  • L-DoS (Logical DoS) :耗时的同步操作、数据库写入、文件备份、循环执行逻辑。

  • DDoS (Distributed DoS):短时间内,来自大量僵尸设备的请求流量,服务器不能及时完成全部请求,导致请求堆积,进而雪崩效应,无法响应新请求。

  • 中间人攻击: 利用Web的明文请求,无法验证请求端身份与其请求体是否含篡改内容。