分享某单位众测项目渗透测试经验
字数 1752 2025-08-22 12:22:30

渗透测试实战经验:短信轰炸、验证码爆破、任意用户注册与SPF邮件伪造漏洞详解

资产信息收集

资产测绘方法

  1. 初始资产获取

    • 众测项目通常会提供资产汇总表格
    • 包含域名、IP、APP、Web站点、微信小程序等资产
  2. 子域名收集工具

    • 灯塔/无影工具:联合FOFA进行子域名挖掘和指纹识别
      • 建议仅使用指纹识别功能,避免触发安全设备
    • OneForAll:专业子域名收集工具
      • 使用流程:
        1. 将目标域名放入txt文件
        2. 执行收集命令
        3. 导出结果后筛选状态码为200的域名
        4. 进行域名和IP去重
  3. POC验证平台

    • 推荐DayDayPOC平台(https://www.ddpoc.com/)
    • 包含最新漏洞的详细POC信息
    • 需要注册登录后才能查看
  4. 资产验证

    • 使用鹰图平台验证子域名是否属于目标企业
    • 检查ICP备案信息确认资产归属

短信轰炸漏洞

漏洞原理

通过绕过短信验证码发送限制,实现短时间内向同一手机号发送大量验证码短信,消耗企业资源。

测试方法

  1. 基础测试

    • 访问注册页面,使用Burp Suite抓取发送验证码的请求
    • 观察首次发送成功后的限制机制
  2. 绕过技术

    • 测试发现可通过特殊字符绕过发送限制:
      • @、空格、+86、逗号等
    • 在手机号前后添加这些字符可能绕过频率限制
  3. 自动化轰炸

    • 使用Burp Suite的Intruder模块
    • 添加多个绕过字符变体进行批量发送
    • 目标:每分钟发送15-30条以上验证码

修复建议

  1. 验证码绑定手机号,防止通过其他途径发送
  2. 限制同一手机号验证码发送频率
  3. 增加验证码复杂度
  4. 限制相同IP/设备的请求频率

验证码爆破漏洞

漏洞原理

验证码位数过少(如4位)且无尝试次数限制,可通过暴力破解方式获取正确验证码。

测试方法

  1. 接收验证码短信,确认位数(通常4或6位)
  2. 使用Burp Suite的Intruder模块:
    • 设置payload范围为0000-9999(4位验证码)
    • 观察响应差异或长度识别正确验证码

修复建议

  1. 增加验证码位数(建议6位以上)
  2. 加入字母或特殊字符组合
  3. 限制尝试次数
  4. 增加验证码失效时间

任意用户注册漏洞

漏洞原理

系统未正确验证手机号与验证码的绑定关系,导致可通过伪造手机号+爆破验证码方式注册任意用户。

测试方法

  1. 抓取关键请求

    • 注册页面输入随机手机号
    • 抓取两个关键请求:
      • 包含手机号和验证码输入功能的请求
      • 发送验证码的请求
  2. 验证码爆破

    • 对验证码进行4位数爆破
    • 观察注册成功响应

修复建议

  1. 严格绑定手机号与验证码关系
  2. 增加图形验证码等二次验证
  3. 限制同一IP的注册频率
  4. 实施手机号实名验证

SPF邮件伪造漏洞

漏洞原理

由于SPF(Sender Policy Framework)记录配置不当或缺失,导致攻击者可伪造特定域名的发件人发送邮件。

SPF记录解析

  1. 关键参数

    • v=spf1:SPF版本标识
    • -all:严格策略,不允许未列出的服务器发送
    • ~all:宽松策略,未列出的服务器可能被接受
  2. 检测方法

    • 使用nslookup命令:
      nslookup -type=txt 目标域名
      
    • 使用dig命令:
      dig -t txt 目标域名
      
  3. SPF验证工具

    • 在线验证:https://www.kitterman.com/spf/validate.html

漏洞利用

  1. 测试条件

    • 目标域名无SPF记录
    • 或SPF记录配置错误(如语法错误)
    • 或使用~all策略
  2. 利用工具

    • 使用Kali自带的swaks工具:
      swaks --body "邮件内容" --header "Subject:邮件主题" -t 目标邮箱 -f 伪造发件人
      
    • 临时邮箱服务:http://24mail.chacuo.net/
  3. 钓鱼利用

    • 伪造官方邮件地址(如HR@company.com)
    • 设计诱导性主题和内容
    • 可能进入垃圾邮件箱,需优化内容

修复建议

  1. 为域名添加正确的SPF记录
  2. 使用-all策略而非~all
  3. 定期检查SPF记录语法是否正确
  4. 结合DKIM和DMARC提高邮件安全

总结与注意事项

  1. 漏洞危害等级

    • 短信轰炸/验证码爆破:中危
    • 任意用户注册:中高危
    • SPF邮件伪造:高危(可用于钓鱼攻击)
  2. 测试注意事项

    • 遵守测试范围,避免未经授权的测试
    • 敏感信息需打码处理
    • 注意测试频率,避免对生产系统造成影响
  3. 漏洞报告要点

    • 清晰描述漏洞复现步骤
    • 提供完整请求/响应示例
    • 附上修复建议
  4. 持续学习

    • 关注最新漏洞POC
    • 参与安全社区交流
    • 定期更新测试工具和方法
渗透测试实战经验:短信轰炸、验证码爆破、任意用户注册与SPF邮件伪造漏洞详解 资产信息收集 资产测绘方法 初始资产获取 : 众测项目通常会提供资产汇总表格 包含域名、IP、APP、Web站点、微信小程序等资产 子域名收集工具 : 灯塔/无影工具 :联合FOFA进行子域名挖掘和指纹识别 建议仅使用指纹识别功能,避免触发安全设备 OneForAll :专业子域名收集工具 使用流程: 将目标域名放入txt文件 执行收集命令 导出结果后筛选状态码为200的域名 进行域名和IP去重 POC验证平台 : 推荐DayDayPOC平台(https://www.ddpoc.com/) 包含最新漏洞的详细POC信息 需要注册登录后才能查看 资产验证 : 使用鹰图平台验证子域名是否属于目标企业 检查ICP备案信息确认资产归属 短信轰炸漏洞 漏洞原理 通过绕过短信验证码发送限制,实现短时间内向同一手机号发送大量验证码短信,消耗企业资源。 测试方法 基础测试 : 访问注册页面,使用Burp Suite抓取发送验证码的请求 观察首次发送成功后的限制机制 绕过技术 : 测试发现可通过特殊字符绕过发送限制: @ 、空格、 +86 、逗号等 在手机号前后添加这些字符可能绕过频率限制 自动化轰炸 : 使用Burp Suite的Intruder模块 添加多个绕过字符变体进行批量发送 目标:每分钟发送15-30条以上验证码 修复建议 验证码绑定手机号,防止通过其他途径发送 限制同一手机号验证码发送频率 增加验证码复杂度 限制相同IP/设备的请求频率 验证码爆破漏洞 漏洞原理 验证码位数过少(如4位)且无尝试次数限制,可通过暴力破解方式获取正确验证码。 测试方法 接收验证码短信,确认位数(通常4或6位) 使用Burp Suite的Intruder模块: 设置payload范围为0000-9999(4位验证码) 观察响应差异或长度识别正确验证码 修复建议 增加验证码位数(建议6位以上) 加入字母或特殊字符组合 限制尝试次数 增加验证码失效时间 任意用户注册漏洞 漏洞原理 系统未正确验证手机号与验证码的绑定关系,导致可通过伪造手机号+爆破验证码方式注册任意用户。 测试方法 抓取关键请求 : 注册页面输入随机手机号 抓取两个关键请求: 包含手机号和验证码输入功能的请求 发送验证码的请求 验证码爆破 : 对验证码进行4位数爆破 观察注册成功响应 修复建议 严格绑定手机号与验证码关系 增加图形验证码等二次验证 限制同一IP的注册频率 实施手机号实名验证 SPF邮件伪造漏洞 漏洞原理 由于SPF(Sender Policy Framework)记录配置不当或缺失,导致攻击者可伪造特定域名的发件人发送邮件。 SPF记录解析 关键参数 : v=spf1 :SPF版本标识 -all :严格策略,不允许未列出的服务器发送 ~all :宽松策略,未列出的服务器可能被接受 检测方法 : 使用nslookup命令: 使用dig命令: SPF验证工具 : 在线验证:https://www.kitterman.com/spf/validate.html 漏洞利用 测试条件 : 目标域名无SPF记录 或SPF记录配置错误(如语法错误) 或使用 ~all 策略 利用工具 : 使用Kali自带的swaks工具: 临时邮箱服务:http://24mail.chacuo.net/ 钓鱼利用 : 伪造官方邮件地址(如HR@company.com) 设计诱导性主题和内容 可能进入垃圾邮件箱,需优化内容 修复建议 为域名添加正确的SPF记录 使用 -all 策略而非 ~all 定期检查SPF记录语法是否正确 结合DKIM和DMARC提高邮件安全 总结与注意事项 漏洞危害等级 : 短信轰炸/验证码爆破:中危 任意用户注册:中高危 SPF邮件伪造:高危(可用于钓鱼攻击) 测试注意事项 : 遵守测试范围,避免未经授权的测试 敏感信息需打码处理 注意测试频率,避免对生产系统造成影响 漏洞报告要点 : 清晰描述漏洞复现步骤 提供完整请求/响应示例 附上修复建议 持续学习 : 关注最新漏洞POC 参与安全社区交流 定期更新测试工具和方法