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

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

联系方式

  • 电子邮件:yiyefangzhou24@qq.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/487157.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

自定义类型(2)

1联合体 1.1 联合体类型的声明 像结构体⼀样,联合体也是由⼀个或者多个成员构成,这些成员可以不同的类型。 但是编译器只为最⼤的成员分配⾜够的内存空间。联合体的特点是所有成员共⽤同⼀块内存空间。所 以联合体也叫:共⽤体。 给联合体其…

基于springboot+vue的流浪动物管理系统

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

2核4G服务器最多支持多少用户同时在线?

腾讯云轻量应用服务器2核4G5M配置性能测评,腾讯云轻量2核4G5M带宽服务器支持多少人在线访问?并发数10,支持每天5000IP人数访问,腾讯云百科txybk.com整理2核4G服务器支持多少人同时在线?并发数测试、CPU性能、内存性能、…

软件测试|使用selenium进行多窗口操作

简介 在我们进行自动化测试的工作中,经常会点击某个元素或者链接就会自动打开一个新页面,需要我们转到新打开的页面去进行操作,这个时候我们就需要能够自动切换到新页面进行后续的操作,selenium同样支持这个功能,本文…

我们的服务器安全护卫——德迅卫士

德迅卫士 德迅卫士采用自适应安全架构,有效解决传统专注防御手段的被动处境,为系统添加强大的实时监控和响应能力,帮助企业有效预测风险,精准感知威胁,提升响应效率,保障企业安全的最后一公里。 德迅卫士…

python初级第一次作业

一、 dayint(input("enter today day")) fdayint(input("enter num of day since today")) c((fday%7)day)%7 if c0:print("sunday") elif c1:print("monday") elif c2:print("tuesday") elif c3:print("wendnsday&quo…

算法打卡day16

今日任务: 1)513.找树左下角的值 2)112.路径总和 3)113.路径总和Ⅱ 4)106.从中序与后序遍历序列构造二叉树 5)105.从前序与中序遍历序列构造二叉 513.找树左下角的值 题目链接:513. 找树左下角…

【网络建设与运维】2024年河北省职业院校技能大赛中职组“网络建设与运维”赛项规程

培训、环境、资料、考证 公众号:Geek极安云科 网络安全群:775454947 网络系统管理群:223627079 网络建设与运维群:870959784 极安云科专注于技能提升,赋能 2024年广东省高校的技能提升,在培训中我们的应急…

MCGS学习——运行策略与脚本程序

语法讲解 运行策略:脚本的编程环境启动策略:在进入运行环境后首先运行的策略,只运行一次,一般完成系统初始化的处理循环策略:按照用户指定的周期时间,循环执行策略块内的内容,通常用来完成流程…

SpringBoot+Vue前后端分离项目在Linux系统中基于Docker打包发布,并上传镜像到阿里镜像私仓

文章目录 SpringBootVue前后端分离项目在Linux系统中基于Docker打包发布,并上传镜像到阿里镜像私仓一、Java项目基于Docker打包发布1.打包应用,将打好的jar包放到我们的linux系统中2.新建dockerfile3.打包镜像4.测试运行5.上传镜像到阿里云免费私仓 二、…

【性能测试】jmeter连接数据库jdbc

一、下载第三方工具包驱动数据库 1. 因为JMeter本身没有提供链接数据库的功能,所以我们需要借助第三方的工具包来实现。 (有这个jar包之后,jmeter可以发起jdbc请求,没有这个jar包,也有jdbc取样器,但不能发起…

PTA L2-032 彩虹瓶

彩虹瓶的制作过程(并不)是这样的:先把一大批空瓶铺放在装填场地上,然后按照一定的顺序将每种颜色的小球均匀撒到这批瓶子里。 假设彩虹瓶里要按顺序装 N 种颜色的小球(不妨将顺序就编号为 1 到 N)。现在工…

【双指针】Leetcode 202.快乐数

题目解析 Leetcode 202.快乐数 看完题目描述相信大家已经知晓题目的含义,我们通过一张图再剖析一下题目含义 快乐数或者非快乐数都是可以成环的,这个是数学上已经证明了的。所以这道题的最后含义就是分辨出环中全部是1或者全部没有1的 双指针 成环问…

集合(JAVA)

一、数组和集合的区别 相同点 都是容器,可以存储多个数据 不同点 数组的长度是不可变的,集合的长度是可变的数组可以存基本数据类型和引用数据类型集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 二、集合类体系结构 三、Collection 集合 1.Collection集合…

vite5+vue3+ import.meta.glob动态导入vue组件

import.meta.glob 是 Vite 提供的一个特殊功能,它允许你在模块范围内动态地导入多个模块。这在处理大量的文件,如组件、页面或其他模块时特别有用,特别是当你需要根据某些条件或模式来动态加载它们时。 1.创建需要动态导入的组件目录 假设你…

C++项目——集群聊天服务器项目(五)网络模块与业务模块

今天来正式书写集群聊天服务器网络模块与部分业务模块的代码 环境搭建C项目——集群聊天服务器项目(一)项目介绍、环境搭建、Boost库安装、Muduo库安装、Linux与vscode配置-CSDN博客 Json第三方库 muduo网络库 MySQL数据库 一、工程目录创建 项目通过CMake编译&#xff0c…

NKCTF--pwn--Maimai查分器

NKCTF–pwn–Maimai查分器 Maimai查分器 保护全开 存在格式化字符串漏洞 第一步:先测速率,输入15.0 SSS 50次获得最高速率 ​ sl(b1) #debug() for i in range(50):sl(b15.0 SSS)然后利用格式化字符串去泄露,本来想一口气全部泄露的&…

【ARXIV2402】MambaIR

这个工作首次将 Mamba 引入到图像修复任务,关于为什么 Mamba 可以用于图像修复,作者有非常详细的解释:一路向北:性能超越SwinIR!MambaIR: 基于Mamba的图像复原基准模型 作者认为Mamba可以理解为RNN和CNN的结合&#xf…

链动2+1模式 完全合法合规 不存在传销问题!!

在商业经营中,营销策略的巧妙运用对于提升产品销量和扩大品牌影响力至关重要。然而,企业在制定和执行营销策略时,必须严格遵循法律法规,以免陷入法律风险。本文将着重探讨链动21模式的法律要素,以论证其合规性。 一、链…

React函数组件Hook

问题: 相对于类组件, 函数组件的编码更简单, 效率也更高, 但函数组件不能有state (旧版) 解决: React 16.8版本设计了一套新的语法来让函数组件也可以有state Hook 是 React 16.8 的新增特性。它可以让你在不编写 class 的情况下使用 state 以及其他的 React 特性 Hook也叫钩子…
最新文章