如何着手写一个自己的网站管理客户端

WebHole

项目地址

https://gitee.com/yiyefangzhou24/web-hole

是什么?能干什么?

  • WebHole是一款网站管理软件,类似但不同于菜刀、冰蝎、蚁剑,能通过C/S的工作模式,方便的管理服务器的文件、数据库,并执行命令。

主界面

文件管理

数据库管理

命令终端

自定义脚本执行

有什么特点?

  • 服务端和客户端通讯过程使用AES对称加密,可自定义加解密密钥。

  • 服务端和客户端通讯内容无特征,WAF无法识别拦截,且可以通过调整iv加密向量,调整加密后的内容特征。

  • 能够自行定义HTTP头。

  • 能够自定义每个WebHole的请求cookies。

Program进度

作者是个业余爱好者,平时打螺丝工作很忙,只能使用业余时间coding。鉴于个人能力、经历有限,只实现了部分功能,期待有兴趣的Contributors一同参与。

  • 目前已经实现的工作:
  1. 完成了整体程序架构和设计,规定好了客户端/服务端通讯格式和内容,给每种类型服务端预留好了接口。

  2. 使用QT写完了服务端(控制端)。

  3. 使用PHP写完了客户端(受控端),且数据库只实现了MYSQL、MSSQL。

  • 还有没完成的工作:
  1. PHP脚本的客户端其他数据库的连接方式没实现。

  2. 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拷贝的程序目录下。 **

联系方式

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值