CISP-PTE:记录文件上传系统靶机做题思路(拿Key)
字数 1658 2025-08-20 18:17:41
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. 渗透测试思路总结
- 信息收集永远是第一步
- 关注备份文件和配置文件泄露
- 文件上传功能是常见漏洞点
- 系统特性(如文件名截断)可能成为突破口
- 从低权限到高权限的逐步提升
- 数据库往往是内网渗透的跳板
- 不要忽视任何看似微小的信息泄露
通过这个靶机的渗透过程,可以系统性地训练文件上传漏洞利用、数据库渗透和权限提升等渗透测试核心技能。