测试WebSocketsbeplay体育能用吗安全漏洞
在本节中,我们将说明如何操纵Websocket消息和连接,描述可能与WebSocket一起出现的安beplay体育能用吗全漏洞,并提供一些利用WebSockets漏洞的示例。
beplay体育能用吗Websocket
beplay体育能用吗WebSocket广泛用于现代Web应用程序。它们是通过HTTP启动的,并在两个方向上提供了与异步通信的长期连接。
beplay体育能用吗Websocket用于各种目的,包括执行用户操作和传输敏感信息。实际上,与WebSocketbeplay体育能用吗s通信有关的常规HTTP出现的任何Web安全漏洞也可能出现。
实验室
如果您已经熟悉Websockets漏洞背后的基本概念,并且只想练习在某些现实,故意脆弱的目标上利用它们,则可以从下面beplay体育能用吗的链接中访问本主题中的所有实验室。
查看所有Websobeplay体育能用吗ckets实验室操纵Websocket流量beplay体育能用吗
查找Websocbeplay体育能用吗kets安全漏洞通常涉及以应用程序不期望的方式操纵它们。您可以使用Burp Suite进行此操作。
您可以使用Burp Suite来:
拦截和修改Websocket消息beplay体育能用吗
您可以使用Burp代理拦截和修改WebSocket消息,如下:beplay体育能用吗
- 配置您的浏览器以使用Burp Suite作为代理服务器。
- 浏览使用Websocket的应用程序功能。beplay体育能用吗您可以通过使用该应用程序来确定正在使用Websbeplay体育能用吗ocket,并查找Burp代理中“ WebSockets历史记录”选项卡中出现的条目。
- 在Burp代理的“拦截”选项卡中,确保打开拦截。
- 当从浏览器或服beplay体育能用吗务器发送WebSocket消息时,它将显示在“拦截”选项卡中供您查看或修改。按向前按钮转发消息。
笔记
您可以在Burp代理中配置客户对服务器或服务器对客户的消息是截获的。在选项选项卡中执行此操作,在拦截Websockebeplay体育能用吗t消息选项。
重播和生成新的Websocket消息beplay体育能用吗
除了拦截和修改Websocket消息时,您还可以重播单个消息并生成新消息。beplay体育能用吗您可以使用Burp Repeater来执行此操作:
- 在Burp代理中,在Websockets历史记录中选择一条消息,或在“拦截”选beplay体育能用吗项卡中,然后从“上下文”菜单中选择“发送到Repeater”。
- 在Burp Repeater中,您现在可以编辑选择的消息,然后一遍又一遍地发送。
- 您可以输入新消息,并以任意方向将其发送到客户端或服务器。
- 在Burp Repeater中的“历史”面板中,您可以查看通过WebSocket连接传输的消息的历史记录。beplay体育能用吗这包括您在Burp Repeater中生成的消息,以及通过相同连接由浏览器或服务器生成的任何消息。
- 如果要编辑并重新发送历史记录面板中的任何消息,则可以通过选择消息并从上下文菜单中选择“编辑和重新安装”来做到这一点。
操纵Websocket连接beplay体育能用吗
除了操纵WebSocket消息外,有时还必须操纵beplay体育能用吗beplay体育能用吗Websocket握手建立连接。
在各种情况下,可能需要操纵Websocket握手:beplay体育能用吗
- 它可以使您能够达到更多的攻击表面。
- 有些攻击可能会导致您的连接下降,因此您需要建立新的攻击。
- 原始握手请求中的令牌或其他数据可能是陈旧的,需要更新。
您可以使用Burp Repeater操纵Webbeplay体育能用吗socket握手:
- 将Websocbeplay体育能用吗ket发送给Burp Repeater作为已经描述了。
- 在Burp Repeater中,单击Websocket URL旁边的铅笔图标。beplay体育能用吗这打开了一个向导,使您可以连接到现有的连接Websocket,克隆连接的Websocket或重新连接到断开的Websocket。beplay体育能用吗
- 如果您选择克隆连接的Websocket或重新连接到断开的Websockbeplay体育能用吗et,则向导将显示Websocket握手请求的完整详细信息,您可以在执行握手之前根据需要进行编辑。
- 当您单击“连接”时,Burp将尝试执行配置的握手并显示结果。如果成功建立了新的beplay体育能用吗Websocket连接,则可以使用它在Burp Repeater中发送新消息。
beplay体育能用吗WebSockets安全漏洞
原则上,实际上任何网络安全漏洞都可能与Websocket有关beplay体育能用吗:
- 输入到服务器的用户提供的输入可能会以不安全的方式处理,从而导致漏洞SQL注入或XML外部实体注入。
- 通过Websocket到达的一些盲目漏洞只能使用beplay体育能用吗带外(OAST)技术。
- 如果通过WebSockets将攻击者控制的数据传输到其他应用程序用户,则可能导致beplay体育能用吗XSS或其他客户端漏洞。
操纵WebSocket消息beplay体育能用吗以利用漏洞
可以找到和利用影响Websocket的大多数基于输入的漏洞beplay体育能用吗篡改Websocket消息的内容beplay体育能用吗。
例如,假设聊天应用程序使用Websocket在浏览器和服务器之间发送聊天消息。beplay体育能用吗当用户键入聊天消息时,将以下网站消息发送到服务器:beplay体育能用吗
{“消息”:“ Hello Carlos”}
消息的内容(再次通过WebSockets)传输到另一个聊天用户,并在用户的浏览器中渲染如下:beplay体育能用吗
你好卡洛斯
在这种情况下,只要没有其他输入处理或防御措施,攻击者可以通过提交以下Websocket消息来执行概念验证XSS攻击:beplay体育能用吗
{“消息”:“
“}
操纵Websocket握手以利用漏beplay体育能用吗洞
某些Webbeplay体育能用吗sockets漏洞只能找到和利用操纵Websocket握手beplay体育能用吗。这些漏洞往往涉及设计缺陷,例如:
- 放错了对HTTP标头的信任以执行安全决定,例如
X福音
标题。 - 会话处理机制中的缺陷,因为处理WebSocket消息的会话上下文通常由握手消息的会话上下文确定。beplay体育能用吗
- 由应用程序使用的自定义HTTP标头引入的攻击表面。
使用跨站点的网络插款利用漏洞beplay体育能用吗
当攻击者从beplay体育能用吗攻击者控制的网站上建立跨域Websocket连接时,某些WebSockets安全漏洞就会出现。这被称为跨站点Websockebeplay体育能用吗t劫持攻击,这涉及利用跨站点伪造((CSRF)Websocket握手上的漏洞。beplay体育能用吗攻击通常会产生严重的影响,使攻击者可以代表受害者用户执行特权行动,或捕获受害者用户访问的敏感数据。
阅读更多
跨站点网站劫持劫持beplay体育能用吗如何保护WebSocket连接beplay体育能用吗
为了最大程度地减少Websocket引起的安全漏洞的风险,请使用以下准则:beplay体育能用吗
- 使用
wss://
协议(TLS上的Webeplay体育能用吗bsocket)。 - 硬码网站端口的URL,当然不会将可控制的数据集成到beplay体育能用吗此URL中。
- 保护Websocket握beplay体育能用吗手消息违反CSRF,以避免跨站点Websocket劫持漏洞。
- 将通过Websocket接收到的数据在两个方向上都不受信beplay体育能用吗。在服务器和客户端端安全地处理数据,以防止基于输入的漏洞,例如SQL注入和跨站脚本。