信息收集组合拳之从废弃接口中寻找漏洞
字数 934 2025-08-05 08:19:40

从废弃接口中寻找漏洞 - 渗透测试技术文档

一、信息收集工具链

1. OneForAll 域名收集工具

  • 工具地址: https://github.com/shmilylty/OneForAll
  • 功能: 通过域名收集网址、子域名和IP地址
  • 常用命令:
    python oneforall.py --targets targets.txt run
    
  • 输出结果: 在results文件夹下生成扫描结果,包含URL、子域名和IP

2. IP地址处理脚本

  • 问题: OneForAll输出的IP是一行多个且有重复
  • 解决方案: 使用Python脚本处理
    #!/usr/bin/env python
    # conding:utf-8
    
    # 把同一行的ip换行,然后写进result.txt的文件里
    with open('ip.txt','r',encoding='utf-8') as readlist:
        for dirs in readlist.readlines():
            with open('result.txt','a',encoding='utf-8') as writelist:
                b = dirs.replace(",", '\n')
                writelist.write(b)
    
    # 去除重复ip,然后把结果写进only.txt文件里
    with open('result.txt','r',encoding='utf-8') as readlist:
        lines_seen = set()
        for line in readlist.readlines():
            if line not in lines_seen:
                lines_seen.add(line)
                with open('only.txt','a',encoding='utf-8') as writelist:
                    writelist.write(line)
    

3. fscan 扫描工具

  • 工具地址: https://github.com/shadow1ng/fscan
  • 特点: 主要用于内网扫描,也可用于外网探测
  • 功能: 资产发现、漏洞扫描、弱口令爆破
  • 常用命令:
    fscan64.exe -hf ip.txt -p 1-65535 -o result.txt
    

4. 小米范工具

  • 作者博客: https://www.cnblogs.com/fsqsec/tag/%E6%88%91%E7%9A%84%E5%B0%8F%E5%B7%A5%E5%85%B7/

5. JSFinder 工具

  • 工具地址: https://github.com/Threezh1/JSFinder
  • 功能: 扫描JS文件及URL
  • 常用命令:
    python JSFinder.py -f targets.txt -d -ou JSurl.txt -os JSdomain.txt
    
  • 输出:
    • JSurl.txt: 包含URL
    • JSdomain.txt: 包含子域名

二、URL参数处理

1. 提取含有参数的URL脚本

#!/usr/bin/env python
# conding:utf-8

# 字符串中有"?"且不在字符串的结尾的就写入result.txt中
with open('JSurl.txt','r',encoding='utf-8') as readlist:
    for dirs in readlist.readlines():
        if "?" in dirs:
            re = dirs.find("?")
            a=len(dirs)-2
            if re < a:
                with open('result.txt','a',encoding='utf-8') as writelist:
                    writelist.write(dirs)

# 去除result.txt中的重复字符串,然后把结果写进only.txt文件里
with open('result.txt','r',encoding='utf-8') as readlist:
    lines_seen = set()
    for line in readlist.readlines():
        if line not in lines_seen:
            lines_seen.add(line)
            with open('only.txt','a',encoding='utf-8') as writelist:
                writelist.write(line)

三、废弃接口漏洞挖掘

1. SQL注入测试

  • 工具: sqlmap
  • 命令:
    python sqlmap.py -m urls.txt --batch
    
  • 输入: 使用上述脚本筛选后的URL

2. 敏感接口识别

常见敏感接口模式:

http://xxxxx/xxx/registerSuccess.do
http://xxxxx/xxx/getALLUsers
http://xxxxx/xxx/deleteuser
http://xxxxx/xxx/api/admin/v1/users/all

3. URL跳转参数识别

常见跳转参数:

toUrl=
login_url=
register_url
redirect_url=
load_url=
proxy_url=
file_url=
jump_url=

四、实战应用场景

  1. 针对历史业务URL进行批量SQL注入测试
  2. 寻找敏感接口测试越权漏洞
  3. 通过跳转参数测试URL跳转漏洞
  4. 在常规渗透测试无果时,从废弃接口寻找突破口

五、技术要点总结

  1. 信息收集全面性: 通过多种工具组合确保不遗漏潜在目标
  2. 数据处理自动化: 使用脚本处理重复数据和格式转换
  3. 目标筛选精准性: 优先关注含参数的URL和敏感接口
  4. 漏洞挖掘深度: 不仅限于常见漏洞,还包括废弃接口中的隐藏漏洞

通过这套方法,可以在常规渗透测试无果时,从网站的历史业务URL和废弃接口中找到安全漏洞。

从废弃接口中寻找漏洞 - 渗透测试技术文档 一、信息收集工具链 1. OneForAll 域名收集工具 工具地址 : https://github.com/shmilylty/OneForAll 功能 : 通过域名收集网址、子域名和IP地址 常用命令 : 输出结果 : 在 results 文件夹下生成扫描结果,包含URL、子域名和IP 2. IP地址处理脚本 问题 : OneForAll输出的IP是一行多个且有重复 解决方案 : 使用Python脚本处理 3. fscan 扫描工具 工具地址 : https://github.com/shadow1ng/fscan 特点 : 主要用于内网扫描,也可用于外网探测 功能 : 资产发现、漏洞扫描、弱口令爆破 常用命令 : 4. 小米范工具 作者博客 : https://www.cnblogs.com/fsqsec/tag/%E6%88%91%E7%9A%84%E5%B0%8F%E5%B7%A5%E5%85%B7/ 5. JSFinder 工具 工具地址 : https://github.com/Threezh1/JSFinder 功能 : 扫描JS文件及URL 常用命令 : 输出 : JSurl.txt : 包含URL JSdomain.txt : 包含子域名 二、URL参数处理 1. 提取含有参数的URL脚本 三、废弃接口漏洞挖掘 1. SQL注入测试 工具 : sqlmap 命令 : 输入 : 使用上述脚本筛选后的URL 2. 敏感接口识别 常见敏感接口模式: 3. URL跳转参数识别 常见跳转参数: 四、实战应用场景 针对历史业务URL进行批量SQL注入测试 寻找敏感接口测试越权漏洞 通过跳转参数测试URL跳转漏洞 在常规渗透测试无果时,从废弃接口寻找突破口 五、技术要点总结 信息收集全面性 : 通过多种工具组合确保不遗漏潜在目标 数据处理自动化 : 使用脚本处理重复数据和格式转换 目标筛选精准性 : 优先关注含参数的URL和敏感接口 漏洞挖掘深度 : 不仅限于常见漏洞,还包括废弃接口中的隐藏漏洞 通过这套方法,可以在常规渗透测试无果时,从网站的历史业务URL和废弃接口中找到安全漏洞。