.

JS逆向百例WebSocket协议爬

北京中药治疗白癜风效果最好的医院 https://wapjbk.39.net/yiyuanfengcai/yyjs_bjzkbdfyy/

声明

本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!

逆向目标

目标:智慧树扫码登录,接口使用了WebSocket通信协议

主页:aHR0cHM6Ly9wYXNzcG9ydC56aGlodWlzaHUuY29tL2xvZ2luI3FyQ29kZUxvZ2lu

WebSocket简介

WebSocket是一种在单个TCP连接上进行全双工通信的协议,WebSocket使得客户端和服务器之间的数据交换变得更加简单。在WebSocketAPI中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。

WebSocket协议简称为WS或者WSS(WebSocketSecure),其发送请求的URL以ws://或者wss://开头,WSS是WS的加密版本,类似于HTTP与HTTPS。

WebSocket协议的最大特点就是:服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话,属于服务器推送技术的一种。与HTTP的对比如下图所示:

抓包分析

来到智慧树的扫码登录页面,抓包选中WS,用来筛选WebSocket请求,如下图所示:

其中有一些比较特别的参数,是HTTP/HTTPS请求中没有的:

Upgrade:websocket:表明这是WebSocket类型请求;

Sec-WebSocket-Version:告诉服务器所使用的WebsocketDraft(协议版本),必须是13;

Sec-WebSocket-Extensions:协议扩展,某类协议可能支持多个扩展,通过它可以实现协议增强;

Sec-WebSocket-Key:是WebSocket客户端发送的一个base64编码的密文,是浏览器随机生成的,要求服务端必须返回一个对应加密的Sec-WebSocket-Accept应答,否则客户端会抛出ErrorduringWebSockethandshake错误,并关闭连接。

我们先扫码登录一遍,再选择Messages选项卡,可以看到有一些数据交互,其中绿色的箭头是客户端发送给服务器的数据,红色箭头是服务器响应返回给客户端的数据,如下图所示:

我们观察一下整个交互过程,当我们打开


转载请注明:http://blog.hzbdfjk.com/hbyx/7028.html

  • 上一篇文章:
  • 下一篇文章: 没有了