第四章:进击!拿到Web最高权限!
字数 1897 2025-08-11 21:26:35
Web渗透测试实战:从Cookie窃取到Webshell获取最高权限
0x00 前言
本教学文档基于FreeBuf文章《第四章:进击!拿到Web最高权限!》整理,详细记录了从Cookie窃取到最终获取Web服务器最高权限的完整渗透测试流程。文档将按照实际攻击步骤分阶段讲解,包含技术细节和关键注意事项。
0x01 目标环境分析
目标系统特征:
- 后台登录地址:
http://dl9k8005.ia.aqlab.cn/admin/Login.asp - 中间件:IIS 6.0(通过Wappalyzer识别)
- 认证方式:基于Cookie的会话管理(ADMINSESSIONIDCSTRCSDQ)
- 目标文件:web根目录下的flag.php
已知漏洞点:
- Cookie伪造漏洞(无重放保护)
- 文件上传功能存在缺陷
- IIS 6.0已知解析漏洞可利用
0x02 第一阶段:Cookie窃取与后台登录
1. Cookie获取方式
根据前文描述,攻击者"尤里"通过XSS攻击获取了管理员Cookie:
ADMINSESSIONIDCSTRCSDQ=LBMLMBCCNPFINOANFGLPCFBC
技术要点:
- 存储型XSS漏洞被利用来窃取Cookie
- 目标系统未设置HttpOnly标志,允许JavaScript访问Cookie
- 无CSRF保护机制
2. Cookie伪造登录
操作步骤:
- 访问后台登录页面:
http://dl9k8005.ia.aqlab.cn/admin/Login.asp - 使用浏览器开发者工具(F12)进入"应用"选项卡
- 在Cookie管理部分添加新Cookie:
- 名称:
ADMINSESSIONIDCSTRCSDQ - 值:
LBMLMBCCNPFINOANFGLPCFBC
- 名称:
- 刷新页面或点击"准备好了吗?"按钮
验证方法:
- 成功跳转到后台管理界面
- 观察URL变化和界面元素确认权限级别
0x03 第二阶段:文件上传与Webshell获取
1. 上传点分析
关键发现:
- 后台存在"修改"功能,允许文件上传
- 系统对上传文件类型有基本过滤
- IIS 6.0存在已知解析漏洞
2. 上传绕过技术
第一次尝试(失败):
- 直接上传.jpg图片文件
- 结果:文件被保存但无法解析执行
第二次尝试(成功):
- 准备Webshell代码(建议使用小文件,如QQ表情图片)
- 将文件后缀改为
.cer(IIS 6.0默认可执行扩展名) - 上传文件
技术原理:
- IIS 6.0默认将.cer、.asa等扩展名识别为可执行文件
- 即使文件内容包含图片特征,只要扩展名匹配,仍会被解析执行
3. Webshell连接
使用工具:
- 中国蚁剑(AntSword)或其他Webshell管理工具
连接参数:
- URL:上传后的.cer文件完整路径
- 密码:Webshell中预设的连接密码
- 编码方式:根据Webshell类型选择(通常为base64)
验证方法:
- 成功建立连接后浏览服务器文件系统
- 确认可执行系统命令
0x04 第三阶段:权限提升与Flag获取
1. 定位目标文件
根据提示,Flag位于web根目录下的flag.php中:
/var/www/html/flag.php 或 C:\inetpub\wwwroot\flag.php
2. 文件读取方法
通过Webshell:
- 导航至web根目录
- 查找flag.php文件
- 使用文件查看或下载功能获取内容
替代方法:
- 通过系统命令直接读取:
type C:\inetpub\wwwroot\flag.php 或 cat /var/www/html/flag.php
0x05 技术总结与防御建议
1. 攻击链分析
完整攻击路径:
存储型XSS → Cookie窃取 → Cookie伪造登录 → 文件上传绕过 → IIS解析漏洞利用 → Webshell获取 → 系统权限获取
2. 防御措施
针对各环节的防护建议:
-
Cookie安全:
- 设置HttpOnly标志
- 实现Cookie重放保护机制
- 使用Secure标志(HTTPS)
-
文件上传:
- 白名单验证文件扩展名
- 检查文件内容而不仅是扩展名
- 上传文件存储在非web可访问目录
- 随机化上传文件名
-
服务器配置:
- 升级IIS版本或应用最新补丁
- 禁用不必要的脚本映射(如.cer、.asa)
- 设置严格的执行权限
-
XSS防护:
- 输入输出编码
- 内容安全策略(CSP)
- 定期安全测试
0x06 扩展思考
1. 替代攻击路径
如果文件上传被严格限制,可尝试:
- IIS 6.0目录解析漏洞(/*.asp/目录)
- 数据库备份功能写入Webshell
- 服务器配置错误利用
2. 权限维持技术
获取初始访问权限后,可考虑:
- 创建隐藏后门账户
- 部署持久化Webshell
- 计划任务或服务维持访问
3. 日志清理
完成渗透后应清理:
- IIS访问日志
- 系统事件日志
- Webshell访问记录
附录:常用命令参考
-
IIS 6.0信息收集:
iisapp -a # 查看应用程序池信息 -
文件操作:
dir /a /s C:\inetpub # 递归列出文件 -
网络信息:
ipconfig /all netstat -ano -
用户账户:
net user net localgroup administrators
本教学文档仅用于网络安全学习与研究,请勿用于非法用途。所有渗透测试活动应在合法授权范围内进行。