WebSockets XSS |burpsuite翻译

admin 2024年12月16日14:09:33评论5 views字数 2045阅读6分49秒阅读模式

WebSockets 介绍

WebSockets广泛使用在现代web应用程序。它们通过HTTP发起,并在两个方向上提供具有异步通信的长期连接。

WebSockets用于各种目的,包括执行用户操作和传输敏感信息。实际上,常规HTTP产生的任何web安全漏洞也可能与WebSockets通信有关。

WebSockets XSS |burpsuite翻译

声明:文中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途给予盈利等目的,否则后果自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢

WebSockets XSS |burpsuite翻译
WebSockets漏洞学习路线:
https://portswigger.net/web-security/learning-paths/websockets-security-vulnerabilities

WebSockets 介绍

https://portswigger.net/web-security/learning-paths/websockets-security-vulnerabilities/websockets/websockets/websockets

WebSockets广泛使用在现代web应用程序。它们通过HTTP发起,并在两个方向上提供具有异步通信的长期连接。

WebSockets用于各种目的,包括执行用户操作和传输敏感信息。实际上,常规HTTP产生的任何web安全漏洞也可能与WebSockets通信有关。

WebSockets XSS |burpsuite翻译

操纵WebSocket流量

发现WebSockets安全漏洞通常涉及以应用程序意想不到的方式操纵它们。比如拦截修改WebSocket消息,重放WebSocket消息,操纵WebSocket连接。

拦截修改WebSocket信息

proxy 标签中,配置规则

WebSockets XSS |burpsuite翻译
WebSockets XSS |burpsuite翻译

重放和生成新的WebSocket消息

除了动态地拦截和修改WebSocket消息外,您还可以重播单个消息并生成新消息。

操作WebSocket连接

除了处理WebSocket消息外,有时还需要处理建立连接的WebSocket握手。

在不同的情况下,操作WebSocket握手可能是必要的:

  • 它可以让你到达更多的攻击面。
  • 有些攻击可能会导致您的连接断开,因此您需要建立一个新的连接。
  • 原始握手请求中的令牌或其他数据可能已经过时,需要更新。

burpsuite 操作WebSocket握手

WebSockets 安全漏洞

原则上,任何web安全漏洞都可能出现在WebSockets中:

传输到服务器的用户提供的输入可能会以不安全的方式进行处理,从而导致SQL注入或XML外部实体注入等漏洞。

通过WebSockets到达的一些盲漏洞可能只能使用带外(OAST)技术检测到。

如果攻击者控制的数据通过WebSockets传输给其他应用程序用户,那么它可能导致XSS或其他客户端漏洞。

操纵WebSocket消息来利用漏洞

大多数影响WebSocket的基于输入的漏洞可以通过篡改WebSocket消息的内容来发现和利用。

例如,假设一个聊天应用程序使用WebSockets在浏览器和服务器之间发送聊天消息。当用户输入一个聊天消息时,像下面这样的WebSocket消息被发送到服务器:

{"message":"Hello Carlos"}

消息的内容(再次通过WebSockets)传输到另一个聊天用户,并在用户的浏览器中呈现如下:

<td>Hello Carlos</td>

在这种情况下,如果没有其他输入处理或防御,攻击者可以通过提交以下WebSocket消息来执行概念验证XSS攻击:

{"message":"<imgsrc=1onerror='alert(1)'>"}

Lab: Manipulating WebSocket messages to exploit vulnerabilities 操纵WebSocket消息来利用漏洞

https://portswigger.net/web-security/websockets/lab-manipulating-messages-to-exploit-vulnerabilities

实验目的

这个在线商店有一个使用WebSockets实现的实时聊天功能。

您提交的聊天消息将由支持代理实时查看。

为了解决这个问题,使用WebSocket消息在支持代理的浏览器中触发一个alert() 弹出窗口。

实验过程

websocket 和 http 操作类似。他需要在建立连接时就抓取到。如果后面没有抓到数据包,就刷新页面。

点击“Live chat”发送聊天信息。/chat

WebSockets XSS |burpsuite翻译
查看proxy-websocket history,观察聊天消息是通过WebSocket消息发送的
WebSockets XSS |burpsuite翻译

可以看到在交流 PING PONG

WebSockets XSS |burpsuite翻译
发送数据,可以看到是这种形式
WebSockets XSS |burpsuite翻译
可以看到他返回了信息
WebSockets XSS |burpsuite翻译
页面上显示
WebSockets XSS |burpsuite翻译

尝试发送XSS

<imgsrc=1onerror='alert(1)'>
WebSockets XSS |burpsuite翻译
查看burp
WebSockets XSS |burpsuite翻译

存在转译,类似 http 中的XSS,抓包然后发过去

WebSockets XSS |burpsuite翻译
OK,完成实验
WebSockets XSS |burpsuite翻译

原文始发于微信公众号(进击的HACK):WebSockets XSS |burpsuite翻译

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月16日14:09:33
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   WebSockets XSS |burpsuite翻译https://cn-sec.com/archives/3507596.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息