不是简单的抓放包-是Websocket Fuzzer

admin 2023年8月11日19:40:12评论16 views字数 1855阅读6分11秒阅读模式

不是简单的抓放包-是Websocket Fuzzer

不是简单的抓放包-是Websocket Fuzzer
不是简单的抓放包-是Websocket Fuzzer

Websocket,是一种在单个TCP连接上进行全双工通信的协议。近年来,Websocket在安全圈受到了不少关注,由于其允许实时更新的特性,在部分需要实时通信的领域更具灵活性。BUT!!


对于测试者来说,大多数渗透测试工具官方对Websocket工具的支持不像HTTP那样普遍,流程甚至更加复杂,能用且好用的工具少之又少。
不是简单的抓放包-是Websocket Fuzzer
不是简单的抓放包-是Websocket Fuzzer

不是简单的抓放包-是Websocket Fuzzer

不是简单的抓放包-是Websocket Fuzzer
不是简单的抓放包-是Websocket Fuzzer

Websocket是HTML5的新特性,在客户端和服务端提供了一个基于TCP连接的双向通道。它的原理是是通过HTTP启动的双向、全双工通信协议,通常用于流式传输数据和其他异步流量的现代Web应用程序中。相比于更为熟知的HTTP这类无状态协议,WebSocket则是一种有状态协议。我们可以从服务器获得任意数量的传出“请求”和任意数量的传入“响应”。引用一个我们平日最常见的例子---网站中的聊天机器人。一句话来说,就是一个更方便的通道工。

不是简单的抓放包-是Websocket Fuzzer
不是简单的抓放包-是Websocket Fuzzer

不是简单的抓放包-是Websocket Fuzzer

Websocket劫持大概来讲就是一个抓放包过程,只不过是针对Websocket这项协议而已。大致流程如下:

不是简单的抓放包-是Websocket Fuzzer

Yakit出面解决,事情就变得简单!

在先前的文章中,相信大家已经看过了Repeater 和 Intruder 的国产化平替,Yakit的Web Fuzzer【Repeater 和 Intruder 的国产化平替 Web Fuzzer】。

Yakit 的大多数功能均由 Fuzz 的组合封装完成。

同理,Websocket劫持是否也能替换成一个Websocket Fuzzer呢?

的确如此!且Websocket Fuzzer 相比起 Burp,操作逻辑其实更加合理。


对比


在Burp Suite里Websocket劫持大概可分为4步

1、找到对应的http请求

不是简单的抓放包-是Websocket Fuzzer

2、Websockets history里面查看Websocket通信请求和响应

不是简单的抓放包-是Websocket Fuzzer

3、选中请求,右键发送到repeater

不是简单的抓放包-是Websocket Fuzzer

4、在repeater中进行请求重放

不是简单的抓放包-是Websocket Fuzzer

在Yakit中,Websocket劫持仅需3:

1、启动MITM流量劫持,然后访问测试用的Websocket服务或者是网站。在HTTP History里面协议类型选择websocket,就可以找到我们请求的Websocket数据包,(这里牛牛敲黑板,Burp是不同网站的Websocket请求都会展示在同一个页面,很难找到自己想要的那个请求,而我们的Yakit直接明了,建立连接之后就在右侧显示这个请求Websocket的通信)

不是简单的抓放包-是Websocket Fuzzer

2、在劫持到Websocket数据包以后,如果我们要对Websocket数据包进行Fuzz操作,可以选择所需数据包,然后点击Fuzz按钮,即可进行Fuzz操作。

不是简单的抓放包-是Websocket Fuzzer

3、点击连接,可以看到成功连接了服务端,并且在右侧可以看到实时的服务器请求与响应。在下方发送数据框里面发送Websocket请求,可以看到服务端成功接收数据。

不是简单的抓放包-是Websocket Fuzzer

Yakit特别亮点:针对一些特别的应用场景,需要重复发送一个请求。

Burp必须回到history页面再选中再发送到repeater,Yakit直接在Web Fuzzer界面左侧框操作即可,不用回到history页面。

不是简单的抓放包-是Websocket Fuzzer


不是简单的抓放包-是Websocket Fuzzer
不是简单的抓放包-是Websocket Fuzzer

总结

由于底层连接协议使用的是始终保持打开状态的TCP协议,因此,客户端和服务器可以随时发送消息,而无需等待另一端的响应。

虽然Websocket劫持的场景相对较少,但在金融交易、在线聊天等实时性强的操作环境下,其重要性不言而喻。

Yakit的Websocket Fuzzer,提供了较为方便的劫持流程以及更清楚的操作逻辑,给师傅们带来便捷的同时,也希望大家多多反馈。

不是简单的抓放包-是Websocket Fuzzer


不是简单的抓放包-是Websocket Fuzzer

更新日志


不是简单的抓放包-是Websocket Fuzzer

Yakit  v1.2.3-sp4

不是简单的抓放包---是Websocket Fuzzer


不是简单的抓放包-是Websocket Fuzzer
不是简单的抓放包-是Websocket Fuzzer

Yaklang 1.2.4-sp1/sp2

不是简单的抓放包-是Websocket Fuzzer
不是简单的抓放包-是Websocket Fuzzer


More


YAK官方资源


YAK 语言官方教程:
https://yaklang.com/docs/intro/
Yakit 视频教程:
https://space.bilibili.com/437503777
Github下载地址:
https://github.com/yaklang/yakit
Yakit官网下载地址:
https://yaklang.com/
Yakit安装文档:
https://yaklang.com/products/download_and_install
Yakit使用文档:
https://yaklang.com/products/intro/
常见问题速查:
https://yaklang.com/products/FAQ


不是简单的抓放包-是Websocket Fuzzer

长按识别添加工作人员

开启Yakit进阶之旅


不是简单的抓放包-是Websocket Fuzzer

原文始发于微信公众号(Yak Project):不是简单的抓放包---是Websocket Fuzzer

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年8月11日19:40:12
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   不是简单的抓放包-是Websocket Fuzzerhttp://cn-sec.com/archives/1950912.html

发表评论

匿名网友 填写信息