WebHole
项目地址
https://gitee.com/yiyefangzhou24/web-hole
是什么?能干什么?
- WebHole是一款网站管理软件,类似但不同于菜刀、冰蝎、蚁剑,能通过C/S的工作模式,方便的管理服务器的文件、数据库,并执行命令。
有什么特点?
-
服务端和客户端通讯过程使用AES对称加密,可自定义加解密密钥。
-
服务端和客户端通讯内容无特征,WAF无法识别拦截,且可以通过调整iv加密向量,调整加密后的内容特征。
-
能够自行定义HTTP头。
-
能够自定义每个WebHole的请求cookies。
Program进度
作者是个业余爱好者,平时打螺丝工作很忙,只能使用业余时间coding。鉴于个人能力、经历有限,只实现了部分功能,期待有兴趣的Contributors一同参与。
- 目前已经实现的工作:
-
完成了整体程序架构和设计,规定好了客户端/服务端通讯格式和内容,给每种类型服务端预留好了接口。
-
使用QT写完了服务端(控制端)。
-
使用PHP写完了客户端(受控端),且数据库只实现了MYSQL、MSSQL。
- 还有没完成的工作:
-
PHP脚本的客户端其他数据库的连接方式没实现。
-
ASP、NET、JSP的服务端没实现。
几个要说明的问题
-
传输内容编码问题。客户端和服务端的通联因为要采用base64加密,所有字符串内容统一使用UTF-8编码,客户端和服务端在传输内容前要做相应转换。
-
服务端编码的选择。服务端添加/修改Webshell配置的时候,选择的编码指的是客户端(受控端)的操作系统编码,如Linux选择UTF-8,简体中文Windows选择GB2312。
-
数据库编码。该功能为预留参数,选择与否没有关系,客户端在配置数据库连接串时应当规定查询结果使用UTF-8编码输出。
琐碎的帮助文档
- 客户端/服务端通信格式和内容[传送门]
编译环境
- 服务端(控制端)采用QT 5.14.1编译,** 编译后要把openssl/bin目录中的libcrypto-1_1.dll和libssl-1_1.dll拷贝的程序目录下。 **
联系方式
-
电子邮件:yiyefangzhou24@qq.com