初探漏洞挖掘基础
字数 1176 2025-08-26 22:11:29

漏洞挖掘基础教学文档

一、漏洞挖掘的基本认知

1.1 漏洞挖掘的前提条件

  1. 对漏洞的认知

    • 理解漏洞的产生原理和修复方案
    • 了解修复方案的潜在绕过方法
    • 示例:SQL注入产生于用户输入未过滤直接带入数据库查询
  2. 系统化的挖掘步骤

    • 针对不同类型网站应有不同的测试策略
    • 购物网站与登录系统的测试重点不同
  3. 防护绕过思维

    • 遇到WAF不应直接放弃
    • 思考绕过方案(如代理池、伪造headers等)

二、前期:信息搜集

2.1 资产搜集方法

  1. 天眼查

    • 通过知识产权栏查找网站资产
  2. ICP备案查询

    • 批量查询脚本示例:
    import requests
    import re
    
    def icp_info(host):
        url = f"https://icp.chinaz.com/ajaxsync.aspx?at=beiansl&callback=jQuery111305329118231795913_1554378576520&host={host}&type=host"
        html = requests.get(url, timeout=(5,10)).text
        pattern = re.compile('SiteName:(.*?),MainPage:(.*?),', re.S)
        info = re.findall(pattern, html)
        for i in range(0,32):
            try:
                name = info[i][0]
                target = info[i][1]
                print(f"{name}:{target}")
                # 保存到文件...
            except:
                continue
    
  3. 维基百科

    • 查找企业词条获取资产信息
  4. Whois查询

    • 通过微步查询历史whois信息
    • 反查注册者/电话/邮箱获取关联域名
  5. 搜索引擎

    • Shodan/Zoomeye/Fofa
    • 搜索技巧:
      • 特定公司名称
      • 网站logo哈希
      • domain/hostname关键字
  6. GitHub

    • 搜索敏感信息(用户名/密码/邮箱)
    • 推荐工具:GSIL
  7. 微信公众号/小程序

    • 搜集企业官方公众号和小程序
    • 小程序常与WEB端接口交互
  8. APP搜集

    • 应用商店搜索企业相关APP
    • 通过开发者历史记录获取更多APP
    • APK分析工具:
  9. JS文件分析

    • 提取隐藏接口和域名
    • 推荐工具:JSFinder

三、中期:深入资产搜集

3.1 子域名枚举

  1. 工具推荐
    • Sublist3r:多引擎查询
    • Subfinder:支持众多API
    • LAYER:过滤泛解析,字典+API方式
    • altdns:发现隐蔽子域名

3.2 IP和端口扫描

  1. IP搜集

    • 使用ip138查询当前和历史解析IP
    • 地址:http://www.ip138.com/
  2. 端口扫描

    • 工具:nmap/masscan
    • 重点关注:
      • WEB服务端口
      • 可能存在漏洞的服务(redis/mongodb等)

四、后期:漏洞扫描与验证

4.1 自动化扫描

  1. 漏洞扫描器

    • Nessus:扫描端口服务漏洞和系统CVE
    • AWVS:扫描WEB漏洞(XSS/SQLI/CSRF等)
  2. 指纹识别

    • 云悉API或自写插件
  3. 敏感信息扫描

4.2 手动测试

  1. 测试流程

    • 对自动化扫描结果进行验证
    • 针对关键系统进行深入手工测试
  2. 测试重点

    • 输入点测试(表单、URL参数等)
    • 权限验证测试
    • 业务逻辑漏洞测试

五、持续学习与改进

  1. 漏洞知识积累

    • 学习新漏洞类型和利用技术
    • 关注安全社区最新研究成果
  2. 工具更新

    • 保持工具版本最新
    • 根据需求开发自定义工具
  3. 经验总结

    • 记录测试过程和发现
    • 分析成功/失败案例

六、注意事项

  1. 法律合规

    • 仅在授权范围内测试
    • 遵守SRC平台规则
  2. 测试规范

    • 避免影响业务正常运行
    • 谨慎使用可能造成破坏的测试方法
  3. 报告编写

    • 清晰描述漏洞细节
    • 提供完整复现步骤
    • 建议修复方案
漏洞挖掘基础教学文档 一、漏洞挖掘的基本认知 1.1 漏洞挖掘的前提条件 对漏洞的认知 理解漏洞的产生原理和修复方案 了解修复方案的潜在绕过方法 示例:SQL注入产生于用户输入未过滤直接带入数据库查询 系统化的挖掘步骤 针对不同类型网站应有不同的测试策略 购物网站与登录系统的测试重点不同 防护绕过思维 遇到WAF不应直接放弃 思考绕过方案(如代理池、伪造headers等) 二、前期:信息搜集 2.1 资产搜集方法 天眼查 通过知识产权栏查找网站资产 ICP备案查询 批量查询脚本示例: 维基百科 查找企业词条获取资产信息 Whois查询 通过微步查询历史whois信息 反查注册者/电话/邮箱获取关联域名 搜索引擎 Shodan/Zoomeye/Fofa 搜索技巧: 特定公司名称 网站logo哈希 domain/hostname关键字 GitHub 搜索敏感信息(用户名/密码/邮箱) 推荐工具: GSIL 微信公众号/小程序 搜集企业官方公众号和小程序 小程序常与WEB端接口交互 APP搜集 应用商店搜索企业相关APP 通过开发者历史记录获取更多APP APK分析工具: Apkatshu Diggy JS文件分析 提取隐藏接口和域名 推荐工具: JSFinder 三、中期:深入资产搜集 3.1 子域名枚举 工具推荐 Sublist3r :多引擎查询 Subfinder :支持众多API LAYER:过滤泛解析,字典+API方式 altdns :发现隐蔽子域名 3.2 IP和端口扫描 IP搜集 使用ip138查询当前和历史解析IP 地址:http://www.ip138.com/ 端口扫描 工具:nmap/masscan 重点关注: WEB服务端口 可能存在漏洞的服务(redis/mongodb等) 四、后期:漏洞扫描与验证 4.1 自动化扫描 漏洞扫描器 Nessus:扫描端口服务漏洞和系统CVE AWVS:扫描WEB漏洞(XSS/SQLI/CSRF等) 指纹识别 云悉API或自写插件 敏感信息扫描 BBSCAN :扫描.git/.svn/备份文件 weakfilescan :弱文件扫描 4.2 手动测试 测试流程 对自动化扫描结果进行验证 针对关键系统进行深入手工测试 测试重点 输入点测试(表单、URL参数等) 权限验证测试 业务逻辑漏洞测试 五、持续学习与改进 漏洞知识积累 学习新漏洞类型和利用技术 关注安全社区最新研究成果 工具更新 保持工具版本最新 根据需求开发自定义工具 经验总结 记录测试过程和发现 分析成功/失败案例 六、注意事项 法律合规 仅在授权范围内测试 遵守SRC平台规则 测试规范 避免影响业务正常运行 谨慎使用可能造成破坏的测试方法 报告编写 清晰描述漏洞细节 提供完整复现步骤 建议修复方案