第四章:进击!拿到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

已知漏洞点

  1. Cookie伪造漏洞(无重放保护)
  2. 文件上传功能存在缺陷
  3. IIS 6.0已知解析漏洞可利用

0x02 第一阶段:Cookie窃取与后台登录

1. Cookie获取方式

根据前文描述,攻击者"尤里"通过XSS攻击获取了管理员Cookie:

ADMINSESSIONIDCSTRCSDQ=LBMLMBCCNPFINOANFGLPCFBC

技术要点

  • 存储型XSS漏洞被利用来窃取Cookie
  • 目标系统未设置HttpOnly标志,允许JavaScript访问Cookie
  • 无CSRF保护机制

2. Cookie伪造登录

操作步骤

  1. 访问后台登录页面:http://dl9k8005.ia.aqlab.cn/admin/Login.asp
  2. 使用浏览器开发者工具(F12)进入"应用"选项卡
  3. 在Cookie管理部分添加新Cookie:
    • 名称:ADMINSESSIONIDCSTRCSDQ
    • 值:LBMLMBCCNPFINOANFGLPCFBC
  4. 刷新页面或点击"准备好了吗?"按钮

验证方法

  • 成功跳转到后台管理界面
  • 观察URL变化和界面元素确认权限级别

0x03 第二阶段:文件上传与Webshell获取

1. 上传点分析

关键发现

  • 后台存在"修改"功能,允许文件上传
  • 系统对上传文件类型有基本过滤
  • IIS 6.0存在已知解析漏洞

2. 上传绕过技术

第一次尝试(失败)

  • 直接上传.jpg图片文件
  • 结果:文件被保存但无法解析执行

第二次尝试(成功)

  1. 准备Webshell代码(建议使用小文件,如QQ表情图片)
  2. 将文件后缀改为.cer(IIS 6.0默认可执行扩展名)
  3. 上传文件

技术原理

  • 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

  1. 导航至web根目录
  2. 查找flag.php文件
  3. 使用文件查看或下载功能获取内容

替代方法

  • 通过系统命令直接读取:
    type C:\inetpub\wwwroot\flag.php
    cat /var/www/html/flag.php
    

0x05 技术总结与防御建议

1. 攻击链分析

完整攻击路径:

存储型XSS → Cookie窃取 → Cookie伪造登录 → 文件上传绕过 → IIS解析漏洞利用 → Webshell获取 → 系统权限获取

2. 防御措施

针对各环节的防护建议

  1. Cookie安全

    • 设置HttpOnly标志
    • 实现Cookie重放保护机制
    • 使用Secure标志(HTTPS)
  2. 文件上传

    • 白名单验证文件扩展名
    • 检查文件内容而不仅是扩展名
    • 上传文件存储在非web可访问目录
    • 随机化上传文件名
  3. 服务器配置

    • 升级IIS版本或应用最新补丁
    • 禁用不必要的脚本映射(如.cer、.asa)
    • 设置严格的执行权限
  4. XSS防护

    • 输入输出编码
    • 内容安全策略(CSP)
    • 定期安全测试

0x06 扩展思考

1. 替代攻击路径

如果文件上传被严格限制,可尝试:

  • IIS 6.0目录解析漏洞(/*.asp/目录)
  • 数据库备份功能写入Webshell
  • 服务器配置错误利用

2. 权限维持技术

获取初始访问权限后,可考虑:

  • 创建隐藏后门账户
  • 部署持久化Webshell
  • 计划任务或服务维持访问

3. 日志清理

完成渗透后应清理:

  • IIS访问日志
  • 系统事件日志
  • Webshell访问记录

附录:常用命令参考

  1. IIS 6.0信息收集

    iisapp -a  # 查看应用程序池信息
    
  2. 文件操作

    dir /a /s C:\inetpub  # 递归列出文件
    
  3. 网络信息

    ipconfig /all
    netstat -ano
    
  4. 用户账户

    net user
    net localgroup administrators
    

本教学文档仅用于网络安全学习与研究,请勿用于非法用途。所有渗透测试活动应在合法授权范围内进行。

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: 技术要点 : 存储型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中: 2. 文件读取方法 通过Webshell : 导航至web根目录 查找flag.php文件 使用文件查看或下载功能获取内容 替代方法 : 通过系统命令直接读取: 0x05 技术总结与防御建议 1. 攻击链分析 完整攻击路径: 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信息收集 : 文件操作 : 网络信息 : 用户账户 : 本教学文档仅用于网络安全学习与研究,请勿用于非法用途。所有渗透测试活动应在合法授权范围内进行。