深信服华中天慧战队:哥斯拉二开-Websocket shell
💡
原文中文,约1200字,阅读约需3分钟。
📝
内容提要
WebSocket是一种全双工通信协议,可以实现实时通知和在线协同编辑等功能。本文介绍了如何让哥斯拉支持WebSocket协议的shell。需要添加SocketClient类和修改界面设计。还需注意payload传输大小限制问题。
🎯
关键要点
-
WebSocket是一种全双工通信协议,支持客户端和服务端双向通信。
-
WebSocket适用于实时性要求高的场景,如实时通知和在线协同编辑。
-
主流浏览器和服务端框架(如Tomcat、Spring等)支持WebSocket。
-
文章讲解如何让哥斯拉支持WebSocket协议的shell。
-
需要在util中添加SocketClient类,实现连接、发送、接收和关闭功能。
-
界面设计中需添加'WS Shell类型'下拉框选项。
-
在src/main/java/shells/cryptions/JavaAes/中新建JavaAesBase64WebSocket.java并定义算法名称。
-
修改init方法以实现SocketClient.sendMsg发送payload。
-
参考wsMemShell模板进行Shell代码实现,并注意添加消息缓冲区大小限制。
-
解决payload传输大小限制问题,设置最大文本和二进制消息缓冲区大小为52428800。
-
连接时,URL需以ws://开头,选择加密器JAVA_AES_BASE64_WebSocket。
➡️