dos攻击漏洞思路小结
字数 1530 2025-08-22 22:47:30

DOS攻击漏洞挖掘思路总结

前言

本文总结了多种DOS(拒绝服务)攻击漏洞的挖掘思路,适用于渗透测试和安全研究中。在测试时需特别注意:不要将参数调整过大,避免直接导致服务器崩溃,特别是在企业SRC测试中要谨慎操作。

判断DOS攻击成功的方法

修改数据包后观察返回包的响应时间,若多次修改响应时间依次增大即可能存在拒绝服务漏洞。

具体漏洞类型及挖掘方法

1. 查询时间更改导致的拒绝服务

操作方法

  • 抓包将时间参数调大,例如:
    • 开始时间改为1000-6-1
    • 结束时间改为9000-6-1
  • 观察返回包的响应时间变化

漏洞原因:后端采用逐天/逐次查询时间的方式处理请求。

2. 修改尺寸大小造成的拒绝服务

常见场景:图形/二维码的长宽参数可控

测试方法

  1. 在请求包中寻找widthlength等尺寸参数
  2. 若请求包中未携带,可尝试构造:&width=1000&length=1000
  3. 将长宽参数调大,观察系统响应时间

漏洞原因:后端直接使用前端传来的尺寸参数生成图像,可能导致生成超大资源。

3. 退出登录处存在的拒绝服务

漏洞特征

  • 退出接口未进行token校验
  • 仅通过userid识别用户

利用方法

  • 遍历userid参数,强制其他用户退出登录
  • 可导致大量用户无法正常使用系统

4. 查询处存在的拒绝服务

测试方法

  1. 找到查询接口,如:http://xxx/query?current=1&size=10
  2. 将查询参数调大:
    • current=1000
    • size=1000000
    • type=10000000
  3. 观察服务器响应时间

漏洞原因:后端直接接收前端查询数量参数,无限制地进行数据查询,消耗大量资源。

5. 忘记密码处恶意锁定他人账户

利用条件

  • 系统在多次密码错误后会永久锁定账户
  • 存在用户名枚举漏洞

利用方法

  1. 通过用户名枚举获取有效用户名列表
  2. 针对每个用户名多次尝试错误密码
  3. 导致大量用户账户被永久锁定

6. 特殊功能点的前台拒绝服务

示例

  • 机顶盒系统的重启/恢复出厂功能存在未授权访问
  • 可构造未授权请求+系统重启无限循环

挖掘思路:针对特殊系统功能,发散思维寻找可能造成系统不可用的操作点。

7. Zip炸弹 - 解压功能处的DOS

准备工作

  • 下载zip炸弹样本:https://www.bamsoftware.com/hacks/zipbomb/zbsm.zip

测试方法

  1. 找到系统文件上传解压功能点
  2. 上传zip炸弹文件
  3. 观察服务器反应(响应变慢或无响应)

漏洞原理

  • zbxl.zip解压后会产生16个压缩包
  • 每个压缩包又包含16个,循环5次
  • 最终产生1,048,576个文件,每个4.3GB
  • 总共约4.5PB的膨胀数据

8. 小程序登录处逻辑缺陷导致的拒绝服务

发现过程

  1. 使用A手机登录账户
  2. 使用B手机尝试登录同一账户但输入错误密码
  3. 发现A手机的登录状态被强制退出

利用方法:持续发送错误密码请求,使目标账户无法保持登录状态。

9. 退出接口配合CSRF导致的拒绝服务

利用方法

  1. 找到头像URL可控点
  2. 将头像URL改为退出接口
  3. 在评论区等显示头像的地方发表内容
  4. 其他用户查看时会触发退出登录

注意事项

  1. 测试时应逐步增加参数值,避免直接导致服务崩溃
  2. 在企业SRC测试中需特别谨慎,避免影响正常业务
  3. 部分漏洞挖掘方法可能更适合内部项目测试或学习研究
  4. 某些漏洞需要组合利用才能达到更好效果(如用户名枚举+账户锁定)

总结

DOS漏洞挖掘需要结合系统功能特点,关注参数可控点、逻辑缺陷和资源消耗操作。通过修改时间、尺寸、数量等参数,观察系统响应变化,可以发现多种类型的拒绝服务漏洞。

DOS攻击漏洞挖掘思路总结 前言 本文总结了多种DOS(拒绝服务)攻击漏洞的挖掘思路,适用于渗透测试和安全研究中。在测试时需特别注意:不要将参数调整过大,避免直接导致服务器崩溃,特别是在企业SRC测试中要谨慎操作。 判断DOS攻击成功的方法 修改数据包后观察返回包的响应时间,若多次修改响应时间依次增大即可能存在拒绝服务漏洞。 具体漏洞类型及挖掘方法 1. 查询时间更改导致的拒绝服务 操作方法 : 抓包将时间参数调大,例如: 开始时间改为 1000-6-1 结束时间改为 9000-6-1 观察返回包的响应时间变化 漏洞原因 :后端采用逐天/逐次查询时间的方式处理请求。 2. 修改尺寸大小造成的拒绝服务 常见场景 :图形/二维码的长宽参数可控 测试方法 : 在请求包中寻找 width 、 length 等尺寸参数 若请求包中未携带,可尝试构造: &width=1000&length=1000 将长宽参数调大,观察系统响应时间 漏洞原因 :后端直接使用前端传来的尺寸参数生成图像,可能导致生成超大资源。 3. 退出登录处存在的拒绝服务 漏洞特征 : 退出接口未进行token校验 仅通过 userid 识别用户 利用方法 : 遍历 userid 参数,强制其他用户退出登录 可导致大量用户无法正常使用系统 4. 查询处存在的拒绝服务 测试方法 : 找到查询接口,如: http://xxx/query?current=1&size=10 将查询参数调大: current=1000 size=1000000 type=10000000 观察服务器响应时间 漏洞原因 :后端直接接收前端查询数量参数,无限制地进行数据查询,消耗大量资源。 5. 忘记密码处恶意锁定他人账户 利用条件 : 系统在多次密码错误后会永久锁定账户 存在用户名枚举漏洞 利用方法 : 通过用户名枚举获取有效用户名列表 针对每个用户名多次尝试错误密码 导致大量用户账户被永久锁定 6. 特殊功能点的前台拒绝服务 示例 : 机顶盒系统的重启/恢复出厂功能存在未授权访问 可构造未授权请求+系统重启无限循环 挖掘思路 :针对特殊系统功能,发散思维寻找可能造成系统不可用的操作点。 7. Zip炸弹 - 解压功能处的DOS 准备工作 : 下载zip炸弹样本:https://www.bamsoftware.com/hacks/zipbomb/zbsm.zip 测试方法 : 找到系统文件上传解压功能点 上传zip炸弹文件 观察服务器反应(响应变慢或无响应) 漏洞原理 : zbxl.zip解压后会产生16个压缩包 每个压缩包又包含16个,循环5次 最终产生1,048,576个文件,每个4.3GB 总共约4.5PB的膨胀数据 8. 小程序登录处逻辑缺陷导致的拒绝服务 发现过程 : 使用A手机登录账户 使用B手机尝试登录同一账户但输入错误密码 发现A手机的登录状态被强制退出 利用方法 :持续发送错误密码请求,使目标账户无法保持登录状态。 9. 退出接口配合CSRF导致的拒绝服务 利用方法 : 找到头像URL可控点 将头像URL改为退出接口 在评论区等显示头像的地方发表内容 其他用户查看时会触发退出登录 注意事项 测试时应逐步增加参数值,避免直接导致服务崩溃 在企业SRC测试中需特别谨慎,避免影响正常业务 部分漏洞挖掘方法可能更适合内部项目测试或学习研究 某些漏洞需要组合利用才能达到更好效果(如用户名枚举+账户锁定) 总结 DOS漏洞挖掘需要结合系统功能特点,关注参数可控点、逻辑缺陷和资源消耗操作。通过修改时间、尺寸、数量等参数,观察系统响应变化,可以发现多种类型的拒绝服务漏洞。