【burpsuite安全练兵场-客户端16】测试WebSockets安全漏洞-3个实验(全)

2024-03-01 1678阅读

温馨提示:这篇文章已超过438天没有更新,请注意相关的内容是否还可用!

  【burpsuite安全练兵场-客户端16】测试WebSockets安全漏洞-3个实验(全)

 

前言:

【burpsuite安全练兵场-客户端16】测试WebSockets安全漏洞-3个实验(全)介绍: 

【burpsuite安全练兵场-客户端16】测试WebSockets安全漏洞-3个实验(全)博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。

【burpsuite安全练兵场-客户端16】测试WebSockets安全漏洞-3个实验(全)殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edusrc高白帽,vulfocus、攻防世界等平台排名https://blog.csdn.net/qq_53079406/article/details/100+、高校漏洞证书、cnvd原创漏洞证书,华为云、阿里云、5https://blog.csdn.net/qq_53079406/article/details/1CTO优质博主等。

【burpsuite安全练兵场-客户端16】测试WebSockets安全漏洞-3个实验(全)擅长:对于技术、工具、漏洞原理、黑产打击的研究。

【burpsuite安全练兵场-客户端16】测试WebSockets安全漏洞-3个实验(全)C站缘:C站的前辈,引领我度过了一个又一个技术的瓶颈期、迷茫期。


【burpsuite安全练兵场-客户端16】测试WebSockets安全漏洞-3个实验(全)导读:

【burpsuite安全练兵场-客户端16】测试WebSockets安全漏洞-3个实验(全)面向读者:对于网络安全方面的学者。 

【burpsuite安全练兵场-客户端16】测试WebSockets安全漏洞-3个实验(全)本文知识点(读者自测): 

(https://blog.csdn.net/qq_53079406/article/details/1)测试WebSockets安全漏洞(√)

(2)操纵WebSocket流量(√)

(3)跨站点WebSocket劫持(√)


目录

一、测试WebSockets安全漏洞

https://blog.csdn.net/qq_53079406/article/details/1、网络套接字

2、HTTP和WebSockets区别

3、建立WebSocket连接

4、WebSocket消息外观

二、操纵WebSocket流量

https://blog.csdn.net/qq_53079406/article/details/1、简述:

2、拦截和修改WebSocket消息

3、重放和生成新的WebSocket消息

4、操作WebSocket连接

5、WebSockets安全漏洞

6、操纵WebSocket消息以利用漏洞

        实验https://blog.csdn.net/qq_53079406/article/details/1:操纵WebSocket消息以利用漏洞

7、操纵WebSocket握手以利用漏洞

        实验2:操纵WebSocket握手以利用漏洞

三、跨站点WebSocket劫持

https://blog.csdn.net/qq_53079406/article/details/1、简述:

2、影响

3、执行跨站点WebSocket劫持攻击

        实验3:跨站点WebSocket劫持


一、测试WebSockets安全漏洞

https://blog.csdn.net/qq_53079406/article/details/1、网络套接字

https://blog.csdn.net/qq_53079406/article/details/1、WebSockets:通过HTTP发起的双向全双工通信协议。它们通常在现代Web应用程序中用于流数据和其他异步流量

2、HTTP和WebSockets区别

https://blog.csdn.net/qq_53079406/article/details/1、HTTP:Web浏览器和网站之间的大多数通信都使用HTTP。使用HTTP时,客户端发送请求,服务器返回响应。通常,响应会立即发生,并且事务完成。即使网络连接保持打开,这也将用于请求和响应的单独事务


2、WebSockets:一些现代网站使用WebSockets。WebSocket连接是通过HTTP发起的,通常是长期的。消息可以在任何时候以任一方向发送,本质上不是事务性的。在客户端或服务器准备好发送消息之前,连接通常会保持打开和空闲状态


3、优势:WebSockets在需要低延迟或服务器启动的消息的情况下特别有用,例如财务数据的实时馈送。 

3、建立WebSocket连接

https://blog.csdn.net/qq_53079406/article/details/1、WebSocket连接通常使用客户端JavaScript创建,

示例:
var ws = new WebSocket("wss://normal-website.com/chat");

2、为了建立连接,浏览器和服务器通过HTTP执行WebSocket握手。

https://blog.csdn.net/qq_53079406/article/details/1、浏览器发出如下WebSocket握手请求:
GET /chat HTTP/https://blog.csdn.net/qq_53079406/article/details/1.https://blog.csdn.net/qq_53079406/article/details/1
Host: normal-website.com
Sec-WebSocket-Version: https://blog.csdn.net/qq_53079406/article/details/13
Sec-WebSocket-Key: wDqumtseNBJdhkihL6PW7w==
Connection: keep-alive, Upgrade
Cookie: session=KOsEJNuflw4Rd9BDNrVmvwBF9rEijeE2
Upgrade: websocket
2、如果服务器接受连接,它将返回WebSocket握手响应,如下所示:
HTTP/https://blog.csdn.net/qq_53079406/article/details/1.https://blog.csdn.net/qq_53079406/article/details/1 https://blog.csdn.net/qq_53079406/article/details/10https://blog.csdn.net/qq_53079406/article/details/1 Switching Protocols
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Accept: 0FFP+2nmNIf/h+4BP36k9uzrYGk=

此时,网络连接保持打开状态,可用于向任一方向发送WebSocket消息。 


3、WebSocket握手消息的几个特性:

    https://blog.csdn.net/qq_53079406/article/details/1、请求和响应中的Connection和Upgrade标头指示这是WebSocket握手。
    2、Sec-WebSocket -Version请求头指定客户端希望使用的WebSocket协议版本。这通常是https://blog.csdn.net/qq_53079406/article/details/13。
    3、Sec-WebSocket -Key请求标头包含Base64编码的随机值,该值应在每个握手请求中随机生成。
    4、该 Sec-WebSocket-接受 响应标头包含在 Sec-WebSocket-密钥请求报头,与协议规范中定义的特定字符串连接。这样做是为了防止错误配置的服务器或缓存代理导致误导性响应

4、WebSocket消息外观

https://blog.csdn.net/qq_53079406/article/details/1、一旦建立了WebSocket连接,客户端或服务器就可以在任意方向上异步发送消息。


2、可以使用客户端JavaScript从浏览器发送一条简单的消息

示例:
ws.send("Peter Wiener");

3、原则上,WebSocket消息可以包含任何内容或数据格式。在现代应用程序中,JSON通常用于在WebSocket消息中发送结构化数据。

例如,使用WebSockets的聊天机器人应用程序可能会发送如下消息:
{"user":"Hal Pline","content":"I wanted to be a Playstation growing up, not a device to answer your inane questions"}


二、操纵WebSocket流量

https://blog.csdn.net/qq_53079406/article/details/1、简述:

https://blog.csdn.net/qq_53079406/article/details/1、查找WebSockets安全漏洞通常涉及以应用程序不期望的方式操作它们。可以使用Burp Suite完成此操作


2、可以使用Burp Suite:拦截和修改WebSocket消息、重放并生成新的WebSocket消息、操作WebSocket连接。

2、拦截和修改WebSocket消息

基本操作:

https://blog.csdn.net/qq_53079406/article/details/1、可以使用Burp代理拦截和修改WebSocket消息

示例:
    https://blog.csdn.net/qq_53079406/article/details/1、打开Burp的浏览器
    2、浏览到使用WebSockets的应用程序函数。您可以通过使用应用程序并查找Burp Proxy内WebSockets历史记录选项卡中显示的条目来确定WebSockets是否正在使用。
    3、在Burp Proxy的Intercept选项卡中,确保拦截功能已打开。
    4、当WebSocket消息从浏览器或服务器发送时,它将显示在“拦截”选项卡中,供您查看或修改。按“转发”按钮转发消息。

可以配置是否在Burp Proxy中拦截客户端到服务器或服务器到客户端消息。在"选项"选项卡中执行此操作,该选项卡位于 拦截WebSocket消息选项。

3、重放和生成新的WebSocket消息

基本操作:

https://blog.csdn.net/qq_53079406/article/details/1、除了动态拦截和修改WebSocket消息之外,还可以重放单个消息并生成新消息。可以使用打BP repeater来完成此操作


2、如果想编辑和重新发送历史记录面板中的任何邮件,您可以通过选择该邮件并从上下文菜单中选择“编辑和重新发送”来完成此操作。

4、操作WebSocket连接

基础操作

https://blog.csdn.net/qq_53079406/article/details/1、除了操纵WebSocket消息之外,有时还需要操纵建立连接的WebSocket握手。

在各种情况下,可能需要操作WebSocket握手:
https://blog.csdn.net/qq_53079406/article/details/1、它可以使你到达更多的攻击面。
2、某些攻击可能会导致您的连接断开,因此您需要建立一个新的连接。
3、原始握手请求中的令牌或其他数据可能已过时,需要更新。

2、可以使用Burp Repeater操作WebSocket握手:

    https://blog.csdn.net/qq_53079406/article/details/1、将WebSocket消息发送到BP repeater
    2、在Burp Repeater中,单击WebSocket URL旁边的铅笔图标。这将打开一个向导,允许您附加到现有的已连接WebSocket、克隆已连接WebSocket或重新连接到已断开连接的WebSocket。
    3、如果选择克隆已连接的WebSocket或重新连接到已断开连接的WebSocket,则向导将显示WebSocket握手请求的完整详细信息,可以在执行握手之前根据需要编辑这些详细信息。
    4、当您点击“连接”时,Burp将尝试执行配置的握手并显示结果。如果成功建立了新的WebSocket连接,则可以使用此连接在Burp Repeater中发送新消息。

5、WebSockets安全漏洞

https://blog.csdn.net/qq_53079406/article/details/1、原则上,几乎所有Web安全漏洞都可能与WebSockets相关:

    https://blog.csdn.net/qq_53079406/article/details/1、传输到服务器的用户提供的输入可能会以不安全的方式进行处理,从而导致SQL注入或XML外部实体注入等漏洞。
    2、某些通过WebSockets攻击的隐蔽漏洞可能只能使用带外(OAST)技术检测。
    3、如果攻击者控制的数据通过WebSockets传输给其他应用程序用户,则可能导致XSS或其他客户端漏洞。

6、操纵WebSocket消息以利用漏洞

https://blog.csdn.net/qq_53079406/article/details/1、大多数影响WebSocket的基于输入的漏洞都可以通过篡改WebSocket消息的内容来发现和利用。

示例:
https://blog.csdn.net/qq_53079406/article/details/1、假设聊天应用程序使用WebSockets在浏览器和服务器之间发送聊天消息。当用户键入聊天消息时,将向服务器发送如下所示的WebSocket消息:
{"message":"Hello Carlos"}
2、消息的内容被传输(再次通过WebSockets)给另一个聊天用户,并在用户的浏览器中呈现如下:
Hello Carlos
3、在这种情况下,如果没有其他输入处理或防御措施,攻击者可以通过提交以下WebSocket消息来执行概念验证XSS攻击:
{"message":"【burpsuite安全练兵场-客户端16】测试WebSockets安全漏洞-3个实验(全)"}

2、涉及实验:

实验https://blog.csdn.net/qq_53079406/article/details/1:操纵WebSocket消息以利用漏洞

实验https://blog.csdn.net/qq_53079406/article/details/1:操纵WebSocket消息以利用漏洞

信息:

https://blog.csdn.net/qq_53079406/article/details/1、网上商店有一个使用WebSockets实现的实时聊天功能

2、提交的聊天消息将由支持代理真实的查看。

3、解决实验:使用WebSocket消息在支持代理的浏览器中触发alert()弹出窗口


parthttps://blog.csdn.net/qq_53079406/article/details/1:

单击“实时聊天”并发送聊天消息,在Burp Proxy中,转到WebSockets历史记录选项卡,观察聊天消息是否已通过WebSocket消息发送

【burpsuite安全练兵场-客户端16】测试WebSockets安全漏洞-3个实验(全)

使用浏览器发送包含"

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]