记一次不同思路的getshell经历
字数 1210 2025-08-20 18:17:41
SQL注入与Getshell技术实战分析
1. 漏洞发现与初步利用
1.1 注入点识别
- 目标URL存在
id=参数 - 单引号测试触发报错,确认存在SQL注入漏洞
1.2 SQLMap基础利用
sqlmap -u "http://target.com/page?id=1" --dbs
- 成功获取数据库名称
- 确认当前用户为DBA权限(关键点)
1.3 直接获取OS Shell
sqlmap -u "http://target.com/page?id=1" --os-shell
- 自动创建两个文件:
tmpudxrm.php(Webshell入口)tmpudxrm.bat(命令执行脚本)
- 访问路径:
http://www.xxxx.com:80/tmpudxrm.php - 通过该接口上传一句话木马完成Getshell
2. 备选攻击路径分析
2.1 管理员凭证获取
sqlmap -u "http://target.com/page?id=1" --users --passwords
- 获取管理员用户名和密码(哈希或明文)
2.2 后台访问技巧
- 原始后台路径
/admin出现302跳转失败 - 解决方法:
ping target.com获取真实IP- 替换跳转地址中的
127.0.0.1为目标IP - 最终后台地址:
http://xx.xx.xx.xx:8810/admin/main.php
2.3 后台功能分析
- 发现学生信息泄露漏洞(敏感数据)
- 重点寻找上传功能:
- 产品管理处存在图片上传功能
- 上传后文件命名规则:
上传时间+四位随机数.jpg(如2020081415021928.jpg)
3. 文件上传绕过技术
3.1 常规绕过尝试失败
- 各种文件上传绕过技术均被防御
- 文件名被强制重命名
3.2 IIS 7.5解析漏洞利用
- 关键发现:目标服务器使用IIS 7.5
- 解析漏洞原理:
- 对于任意文件,在URL后添加
/.php会被当作PHP执行 - 示例:
2020081415021928.jpg/.php
- 对于任意文件,在URL后添加
3.3 实际利用步骤
- 准备图片马(将PHP代码嵌入图片)
- 通过上传接口上传图片马
- 访问上传后的文件并附加
/.php后缀 - 成功执行PHP代码获取Webshell
4. 技术总结与防御建议
4.1 攻击技术要点
- SQL注入点识别与利用
- DBA权限下的OS-Shell获取
- 管理员凭证提取与后台访问
- IIS解析漏洞的实战应用
4.2 防御措施
-
SQL注入防御:
- 使用参数化查询
- 最小权限原则(避免DBA权限)
-
文件上传防御:
- 严格限制上传文件类型
- 禁用服务器解析漏洞
- 文件重命名时保留原始扩展名
-
服务器配置:
- 及时更新IIS补丁
- 禁用不必要的HTTP方法
- 配置严格的URL解析规则
-
敏感信息保护:
- 后台地址不应暴露
- 302跳转应验证目标地址
- 学生信息等敏感数据需加密
5. 学习要点
- 多种Getshell思路的灵活转换
- 当主要攻击路径被封堵时的备选方案
- 服务器环境识别对攻击方式选择的重要性
- 渗透测试中的信息收集技巧(如后台发现、服务器类型识别)
6. 注意事项
- 教育SRC等合规测试中应注意"点到为止"原则
- 测试完成后应及时清理测试文件
- 报告漏洞时需注意敏感信息打码
- 实际渗透中应考虑漏洞的重复提交问题