Web开发安全之旅,攻击篇

128 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 37 天,之前我们学习过一节课,它的名字叫做:Web开发安全之旅,下面就是我做的关于这节课的课堂笔记:

前言

这节课主要分为两个部分来讲:攻击篇和防御篇。从这两个角度出发,对Web开发安全进行了较为全面的讲解。

攻击篇

Cross-Site Scripting(XSS)

XSS攻击通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序。 屏幕截图 2023-02-20 161927.png XSS主要利用了:盲目信任用户提交的内容; sring->DOM,document.wirte,element.innerHTML = anyString,SSR(user_data) //伪代码。 屏幕截图 2023-02-20 162619.png XSS的一些特点:通常难以从UI上感知(暗地执行脚本),窃取用户信息(cookie/token),绘制UI(例如弹窗),诱骗用户点击/填写表格。

XSS的Demo 屏幕截图 2023-02-20 163136.png 屏幕截图 2023-02-20 163221.png

Stored XSS

Stored XSS:恶意脚本被存在数据库中,访问页面-读数据-被攻击,危害最大 对全部用户可见。

屏幕截图 2023-02-20 163729.png

Reflected XSS

Reflected XSS:不涉及数据库,从URL上攻击。 ![屏幕截图 2023-02-20 163932.png](p3-juejin.bytDOM-based XSSeimg.com/tos-cn-i-k3u1fbpfcp/6fa341ab63e442778e756ff8e90a46b9~tplv-k3u1fbpfcp-watermark.image?)

DOM-based XSS

DOM-based XSS:不需要服务器的参与,恶意攻击的发起和执行全在浏览器中执行。 屏幕截图 2023-02-20 164145.png

Mutation-based XSS

Mutation-based XSS: 利用了浏览器渲染DOM的特性,不同浏览器,会有区别(按照浏览器进行攻击) 屏幕截图 2023-02-20 164455.png

Cross-site request forgert(CSRF)

Cross-site request forgert(CSRF):在用户不知情的前提下,利用用户权限(cookie),构造指定 HTTP 请求,窃取或者修改用户敏感信息。 屏幕截图 2023-02-20 164715.png

屏幕截图 2023-02-20 164814.png

屏幕截图 2023-02-20 164830.png

SQL injection

屏幕截图 2023-02-20 164830.png

屏幕截图 2023-02-20 165507.png

屏幕截图 2023-02-20 165543.png injection不止于SQL:CLI,OS command,Server-Side Request Forgery(SSRF)服务端伪造请求(严格而言,SSRF不是injection但是原理相似)。

屏幕截图 2023-02-20 170152.png

屏幕截图 2023-02-20 170204.png

屏幕截图 2023-02-20 170216.png

SSRF demo

屏幕截图 2023-02-20 170421.png

Denial of Service(Dos)

通过某种方式(构造特定请求),导致服务器资源被显著消耗,来不及响应更多请求,导致请求被挤压,进而雪崩效应。 屏幕截图 2023-02-20 170649.png

屏幕截图 2023-02-20 170804.png

Logical Dos

Logical Dos:耗时的同步操作,数据库写入,SQL join,文件备份,循环执行逻辑 屏幕截图 2023-02-20 171601.png

Distributed DoS(DDoS)

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

攻击特点:直接访问IP,任意API,消耗大量宽带(耗尽)。

屏幕截图 2023-02-20 172302.png

传输层-中间人攻击

屏幕截图 2023-02-20 172429.png

小结

这就是关于攻击篇的内容,谢谢大家阅读。