另类方式拿下考场管理系统shell
字数 913 2025-08-09 22:00:40
考场管理系统漏洞分析与利用教学文档
漏洞概述
本教学文档详细分析了一个考场管理系统的安全漏洞,该漏洞源于系统对上传功能缺乏足够的权限验证,导致攻击者可以绕过认证直接上传恶意文件并获取系统控制权。
系统信息收集
-
初步探测:
- 首先尝试SQL注入测试,确认系统无SQL注入漏洞
- 对系统域名进行扫描,发现多个子页面但均跳转至登录页面
-
开发信息收集:
- 在页面底部发现开发公司联系方式(QQ群)
- 加入QQ群后发现群文件中包含系统相关文件:
1.zip- 包含无价值文档pages.rar- 包含关键PHP文件(客服确认这是系统更新文件)
代码分析
-
关键文件分析:
- 重点检查
save开头的PHP文件 - 发现用户信息保存功能代码:
- 密码使用SHA256加盐方式加密
- 包含数据库执行操作代码
- 重点检查
-
上传功能分析:
- 发现图片上传功能代码段:
name=image // 标准图片上传字段- 上传路径为
/uploadImage/Profile/
漏洞利用过程
-
构造上传请求:
- 手动构造文件上传POST请求
- 初始尝试失败,原因是请求构造不完整(缺少引号)
-
修正请求:
- 修正后的完整上传请求包含:
- 正确的Content-Type
- 完整的文件字段格式
- 正确的文件扩展名
- 修正后的完整上传请求包含:
-
上传验证:
- 成功上传后,文件存储在
/uploadImage/Profile/目录 - 使用蚁剑(ChinaChopper)等工具连接上传的Webshell
- 成功上传后,文件存储在
漏洞根源
-
权限验证缺失:
- 系统未对POST请求方式进行权限验证
- 关键目录未设置访问限制
-
安全建议:
- 对所有敏感操作实施严格的权限验证
- 限制
/uploadImage/等目录的访问权限 - 实施文件上传的白名单验证机制
漏洞修复
-
临时修复方案:
- 立即删除已上传的恶意文件
- 限制对
/uploadImage/目录的访问
-
长期修复方案:
- 更新系统代码,对所有操作添加权限验证
- 实施文件上传内容检查机制
- 定期进行安全审计
教学总结
本案例展示了如何通过:
- 信息收集(开发公司联系方式)
- 源代码分析(从更新包中获取关键代码)
- 功能逆向(分析上传机制)
- 漏洞利用(构造恶意上传请求)
最终获取系统控制权限的全过程。强调了权限验证在Web应用安全中的重要性。