SQLMap 参数 level 与 risk 区别

level (探测等级)

level 选项用于指定 sqlmap 测试的深度,范围从1到5。level 值越高,sqlmap 会尝试更多的 Payload,但同时也会增加请求的数量和测试时间

  • Level 1:默认等级,会测试一些基本的 Payload,比如单引号 ' 和双引号 "。这适用于快速探测,通常不会对应用造成太大影响
  • Level 2:会增加基于时间的 Payload,用于测试盲注
  • Level 3:会测试 AND/OR 布尔盲注以及一些常见的报错注入 Payload
  • Level 4:会测试一些不常见的、复杂的 Payload,例如基于 UNION 查询的 Payload
  • Level 5:最高等级,会测试所有的 Payload,包括一些非常规的、可能导致应用崩溃的 Payload

总结level 决定了 sqlmap 攻击的深度和复杂性,它告诉 sqlmap 应该使用多少种不同的技术来探测漏洞

risk (危险等级)

risk 选项用于指定 sqlmap 执行 Payload 的危险程度,范围从1到3。risk 值越高,sqlmap 会使用一些可能对数据库造成修改或破坏的 Payload

  • Risk 1:默认等级,sqlmap 只会使用那些不会对数据库数据造成修改的 Payload。例如,UNION 查询、布尔盲注等
  • Risk 2:会增加一些可能造成轻微数据修改的 Payload,比如基于 GETPOST 参数的更新语句
  • Risk 3:最高等级,会尝试可能对数据库造成重大破坏的 Payload,例如 DELETEINSERTUPDATE 等。在没有明确授权的情况下,不建议使用这个等级

总结risk 决定了 sqlmap 攻击的潜在危害性,它告诉 sqlmap 可以执行多“危险”的操作

特征 level (探测等级) risk (危险等级)
关注点 攻击深度和技术类型 攻击危险性和破坏程度
决定因素 攻击手法(布尔、时间、报错、联合等) 攻击操作(查询、更新、删除等)
默认值 1 1
常用组合 level 3 或更高 risk 2 或更高
Copyright © 版权信息 all right reserved,powered by Gitbook该文件修订时间: 2025-09-25 03:13:16

results matching ""

    No results matching ""