小白前端学习WEB开发安全之旅|青训营基础班小白笔记及总结(上)Day5~

58 阅读2分钟

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

一、攻击篇

XSS

如下图所示:

58ae7ad8-a5d6-4cad-998d-b6284e6459c4.png XSS主要利用了

917aca32-6170-460f-a344-814b9555e6f1.png XSS一些特点

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

我们来看一些XSSdemo

如下图所示:

下载.png demo中由于没有对content进行过滤,导致攻击者可以直接提交恶意脚本

下载 (1).png cbe0f4a2-f612-4a6d-84f1-85daea5e671b.png

Stored XSS

特点

  1. 恶意脚本被存在数据库中
  2. 访问页面->读数据->被攻击
  3. 危害最大,对全部用户可见 5ccf14ea-20cf-4802-bade-0a8588bd4fcd.png

Reflected XSS

特点

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

demo如下:

07e8af1d-42b9-4c26-830c-ba0092458886.png bc2d0446-4073-45d1-9280-517d94d0a242.png

DOM——based XSS

特点

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

demo如下:

3768c0b1-7c4b-4011-8f21-2621d44dfdc6.png 相同的URL 2d121a91-9965-4c38-bb73-f99df2abd08b.png

Reflected XSS与DOM——based XSS比较 dbdd9018-383e-4193-ae69-433e027e8430.png 可以很明显的看出二者在完成注入脚本的地方有所不同。

Mutation——based XSS

特点

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

demo如下:

Snipaste_2022-08-20_00-00-02.png

Cross—site request forgery(CSRF)

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

demo如下:

df9a758c-a312-4a46-8d9f-d6f367e60a12.png

  1. 用户没有访问银行页面
  2. 银行页面中的特定接口被请求
  3. 请求执行成功

Injection

SQL Injection

115ed186-0b7b-4f88-bccf-7e32e573e0dd.png demo如下:

Snipaste_2022-08-20_00-13-23.png Snipaste_2022-08-20_00-13-36.png

Injection不止于SQL

  • CLI
  • OS command
  • Server-Side Requst Forgery(SSRF)
  • 严格而言,SSRF不是injection,但是原理类似 demo如下:

执行 Snipaste_2022-08-23_21-27-52.png Snipaste_2022-08-23_21-28-52.png

读取+修改 Snipaste_2022-08-23_21-29-16.png

SSRF(demo)

  1. 请求【用户自定义】的 callback URL
  2. web server 通常有内网访问权限 Snipaste_2022-08-23_21-31-31.png

Denial of Service(Dos)

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

tips:正则表达式————贪婪模式

重复匹配时‘?’or‘NO?’:一个即可vs尽量多 Snipaste_2022-08-23_21-51-37.png

ReDoS:基于正则表达式

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

Snipaste_2022-08-23_21-57-21.png

Logical Dos

  1. 耗时的同步操作
  2. 数据库写入
  3. SQL join
  4. 文件备份
  5. 循环执行逻辑

demo如下:

Snipaste_2022-08-23_22-03-07.png

Distributied Dos(DDos)

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

攻击特点

  • -直接访问IP
  • -任意API
  • -消耗大量带宽(耗尽)

demo如下:

Snipaste_2022-08-23_22-05-40.png

中间人攻击

  1. 明文传输
  2. 信息篡改不可知
  3. 对方身份未验证

demo如下:

Snipaste_2022-08-23_22-10-42.png

总结:

以上是对web开发中可能遭受到的恶意攻击的介绍,可以详细搜索相关并深入了解,我们只有了解了攻击才能知道如何相对应的防守,期待下一篇防守。