首先声明一下,此文章仅供学习!!!
不说废话开始进入正题。。。
F12抓包,socket协议在WS里面,理论不讲了,wss加密版,ws不加密。
直接看他的js加密,从Initiator进入
跳到了这里,他在这创建了socket服务,我们直接去找send发送就行。
this.ws.send 有两个,不知道哪一个,我就全部断上了,毕竟不多,多的话可以hook一下。
刚打上断点就断住了,这不奇怪,因为客户端个几秒就要去访问一下服务器。
看到这个body我盲猜是发送的文字,其余的是一些其他参数。
我发个嘻嘻断一下
可以看到,我们发送的内容在这个里面。然后看到的参数我直接讲一下吧,就没必要绕了。
conversation_id : 你的私信id和对方的私信id ---- socket返回的
conversation_short_id :这个也是socket解密之后返回的
ticket: 这个也是socket返回的
s:client_message_id :这个可以用uuid库随机生成,我是扣的他的源码
基本上就这些参数
中途跟大家讲一下返回地方,大家看到的是经过加密的,用他的解密解一下就行了
然后圈起来的c值我刚刚就是我前面分析的值,没什么区别,可以自己跟一下,
_.serialize 加密函数,把c值丢进去得到一个ArrayBuffer,然后拿着这个ArrayBuffer在配上下面那些参数在进行二次加密,最终得到一个新的ArrayBuffer。他的动态加密参数前面已经全部说出来了,后面无非就是一些时间什么的。走到这一步之后就是send发送了。
由于涉及到平台安全问题,不能讲的太细,只能分享一下逻辑,还望大家见谅。
推荐一个工具,在这个里面环境补不出来的时候能用得上。
sekiro 用于网页js加密远程调用,直接调用人家网站加密函数进行加密并且返回就行。
如有侵权请联系我,马上删除 v:Fzk666_
更多推荐
某店私信Websocket分析学习
发布评论