CISP-PTE:记录文件上传系统靶机做题思路(拿Key)
字数 1658 2025-08-20 18:17:41

CISP-PTE文件上传系统靶机渗透测试教学文档

1. 靶机概述

这是一个文件上传系统的渗透测试靶机,主要考察渗透测试人员的整体思路和流程。靶机包含三个关键Key,需要通过系统漏洞利用、数据库渗透和权限提升等技术手段获取。

2. 渗透测试流程

2.1 信息收集阶段

  1. 端口扫描

    • 使用fscan工具扫描目标IP(10.0.0.152)的开放端口
    • 发现文件上传系统运行在27689端口
    • 访问地址: http://10.0.0.152:27689
  2. 目录扫描

    • 使用御剑等目录扫描工具扫描网站目录
    • 发现敏感文件泄露: http://10.0.0.152:27689/web.config.bak
    • 该文件包含SQL Server数据库的登录信息和库名

2.2 数据库渗透

  1. 数据库连接

    • 使用获取的数据库凭据连接SQL Server
    • 数据库连接工具可以是SQL Server Management Studio或其他SQL客户端
  2. 数据库查询

    • 查询数据库中的表结构
    • 重点查询用户表(如admin表)
    • 发现admin账户密码为: asdadwn_d2112
  3. 系统登录

    • 使用获取的admin凭据登录文件上传系统
    • 成功获取第一个Key: key1:4k3s9m3d

2.3 文件上传漏洞利用

  1. 上传测试

    • 尝试上传不同扩展名文件(1.abcd, 1.aspx)均失败
    • 上传1.txt成功,判断系统采用白名单机制
  2. 文件名截断漏洞

    • 发现系统特性:文件名过长会被截取前32位字符(包含系统时间)
    • 利用此特性构造长文件名上传.aspx文件
    • 示例:638660178716976629-33333333.aspx(前32位为时间戳)
  3. Webshell上传

    • 上传包含一句话木马的.aspx文件
    • 成功绕过白名单限制
  4. 路径泄露

    • 点击页面中的.jpg文件发现路径泄露
    • 获取上传文件完整路径: http://10.0.0.152:27689/upfile/affix/638660178716976629-33333333.aspx
  5. 连接Webshell

    • 使用蚁剑等工具连接Webshell
    • 成功获取第二个Key: key2:2a3s9p4d

2.4 权限提升

  1. 发现SA账户凭据

    • 在Webshell中查找敏感文件
    • 发现包含SA账户密码的文件: cisp-pte@sa
  2. 数据库权限提升

    • 使用SA账户连接SQL Server数据库
    • 利用数据库管理工具的文件管理功能
    • 浏览Administrator目录
  3. 获取最终Key

    • 在Administrator桌面发现key.txt
    • 内容为第三个Key: key3:4d9d3q8v

3. 技术要点总结

  1. 敏感文件泄露

    • web.config.bak文件泄露数据库凭据
    • 强调备份文件的安全存储重要性
  2. 文件上传漏洞

    • 白名单绕过技术
    • 文件名截断漏洞利用
    • 时间戳在文件名中的利用
  3. 数据库渗透

    • 从配置文件获取数据库凭据
    • SQL Server数据库查询技术
    • SA账户权限提升
  4. 路径泄露

    • 通过正常功能发现路径信息
    • 路径信息对渗透测试的重要性
  5. 权限维持

    • Webshell上传与连接
    • 数据库管理工具的文件管理功能利用

4. 防御建议

  1. 文件上传安全

    • 实施严格的文件类型验证
    • 限制文件名长度和特殊字符
    • 文件存储使用随机命名
  2. 敏感信息保护

    • 避免配置文件泄露
    • 不使用.bak等易猜测的备份扩展名
    • 关键凭据加密存储
  3. 数据库安全

    • 最小权限原则分配数据库账户
    • 避免使用SA账户运行应用
    • 定期审计数据库权限
  4. 错误处理

    • 避免泄露系统路径信息
    • 统一错误页面处理
  5. 系统加固

    • 限制数据库账户的文件系统访问权限
    • 实施适当的目录权限控制

5. 渗透测试思路总结

  1. 信息收集永远是第一步
  2. 关注备份文件和配置文件泄露
  3. 文件上传功能是常见漏洞点
  4. 系统特性(如文件名截断)可能成为突破口
  5. 从低权限到高权限的逐步提升
  6. 数据库往往是内网渗透的跳板
  7. 不要忽视任何看似微小的信息泄露

通过这个靶机的渗透过程,可以系统性地训练文件上传漏洞利用、数据库渗透和权限提升等渗透测试核心技能。

CISP-PTE文件上传系统靶机渗透测试教学文档 1. 靶机概述 这是一个文件上传系统的渗透测试靶机,主要考察渗透测试人员的整体思路和流程。靶机包含三个关键Key,需要通过系统漏洞利用、数据库渗透和权限提升等技术手段获取。 2. 渗透测试流程 2.1 信息收集阶段 端口扫描 使用fscan工具扫描目标IP(10.0.0.152)的开放端口 发现文件上传系统运行在27689端口 访问地址: http://10.0.0.152:27689 目录扫描 使用御剑等目录扫描工具扫描网站目录 发现敏感文件泄露: http://10.0.0.152:27689/web.config.bak 该文件包含SQL Server数据库的登录信息和库名 2.2 数据库渗透 数据库连接 使用获取的数据库凭据连接SQL Server 数据库连接工具可以是SQL Server Management Studio或其他SQL客户端 数据库查询 查询数据库中的表结构 重点查询用户表(如admin表) 发现admin账户密码为: asdadwn_d2112 系统登录 使用获取的admin凭据登录文件上传系统 成功获取第一个Key: key1:4k3s9m3d 2.3 文件上传漏洞利用 上传测试 尝试上传不同扩展名文件(1.abcd, 1.aspx)均失败 上传1.txt成功,判断系统采用白名单机制 文件名截断漏洞 发现系统特性:文件名过长会被截取前32位字符(包含系统时间) 利用此特性构造长文件名上传.aspx文件 示例: 638660178716976629-33333333.aspx (前32位为时间戳) Webshell上传 上传包含一句话木马的.aspx文件 成功绕过白名单限制 路径泄露 点击页面中的.jpg文件发现路径泄露 获取上传文件完整路径: http://10.0.0.152:27689/upfile/affix/638660178716976629-33333333.aspx 连接Webshell 使用蚁剑等工具连接Webshell 成功获取第二个Key: key2:2a3s9p4d 2.4 权限提升 发现SA账户凭据 在Webshell中查找敏感文件 发现包含SA账户密码的文件: cisp-pte@sa 数据库权限提升 使用SA账户连接SQL Server数据库 利用数据库管理工具的文件管理功能 浏览Administrator目录 获取最终Key 在Administrator桌面发现key.txt 内容为第三个Key: key3:4d9d3q8v 3. 技术要点总结 敏感文件泄露 web.config.bak文件泄露数据库凭据 强调备份文件的安全存储重要性 文件上传漏洞 白名单绕过技术 文件名截断漏洞利用 时间戳在文件名中的利用 数据库渗透 从配置文件获取数据库凭据 SQL Server数据库查询技术 SA账户权限提升 路径泄露 通过正常功能发现路径信息 路径信息对渗透测试的重要性 权限维持 Webshell上传与连接 数据库管理工具的文件管理功能利用 4. 防御建议 文件上传安全 实施严格的文件类型验证 限制文件名长度和特殊字符 文件存储使用随机命名 敏感信息保护 避免配置文件泄露 不使用.bak等易猜测的备份扩展名 关键凭据加密存储 数据库安全 最小权限原则分配数据库账户 避免使用SA账户运行应用 定期审计数据库权限 错误处理 避免泄露系统路径信息 统一错误页面处理 系统加固 限制数据库账户的文件系统访问权限 实施适当的目录权限控制 5. 渗透测试思路总结 信息收集永远是第一步 关注备份文件和配置文件泄露 文件上传功能是常见漏洞点 系统特性(如文件名截断)可能成为突破口 从低权限到高权限的逐步提升 数据库往往是内网渗透的跳板 不要忽视任何看似微小的信息泄露 通过这个靶机的渗透过程,可以系统性地训练文件上传漏洞利用、数据库渗透和权限提升等渗透测试核心技能。