电子数据取证之宝塔面板

一、宝塔面板介绍


1、官网bt.com,是提升运维效率的服务器管理软件,支持一键WAMP/LAMP/LNMP等100多项服务器管理功能;是跨平台的软件,同时支持Windows和Linux。开源永久免费。提高工作效率,对小白比较友好。
2、怎么看服务器中有没有宝塔。

宝塔6.0以前需要输入的命令是:bt default;这个命令适用于全版本;

6.0以后的版本使用的命令是:bt。然后可以调出宝塔面板命令行,有很多功能可以选择;
3、如果是Windows服务器的话看看进程,有没有宝塔服务,看看快捷方式。
4、目前宝塔最新的版本是7.9.9。

二、网站搭建


1、centos 7.X > debian 10>ubuntu 20.04>centos8;
宝塔适配centos7最稳定;
2、不同版本的安装命令,详细可以查看宝塔的官网;
3、ping命令,ping不通,也不代表网站不存在;也有可能是开启了禁ping ;不要简单的通过ping命令下结论。

三、取证思路


1、如果打不开网站,可以查看宝塔服务是否开启了,没有开启的话开启
检测:netstat -anpt 如果没有8888端口,可以确定宝塔的服务没有开启;
开启命令:service bt start ;

2、用Linux命令搜索文件的方法:
举例:find 目录 -name '*.php' | xargs grep "mysql"

以上命令是搜索含有关键词:mysql 的文件;

四、宝塔面板浅析


宝塔面板本身就是一个站点,那么用服务器取证的思路对宝塔面板进行分析,找到宝塔面板的登录密码保存位置,和加密方式,并且弄清楚面板重置密码的方法。

1、通过面板登录窗口,点击忘记密码,可以进入到宝塔面板的BBS,里面有介绍到一条执行命令:cd /www/server/panel && btpython tools.py panel testpasswd
可以发现命令中提到了tools.py文件,这个文件应该是入手点,找到它进行分析。

2、宝塔面板的文件位置:/www/server/panel,在这个目录下找到tools.py文件。

3、tools.py文件解析:
发现在重置面板密码时,用户输入了密码,密码经过set_panel_pwd函数处理,下一步找到这个函数; 

 4、搜索找到后,发现password首先被md5函数处理一次,然后被password_salt函数处理了一次,两个函授都来自文件public。

5、继续搜索,在目录/www/server/panel/class中,找到public.py文件;在该文件中搜索找到md5函数;发现md5函数,就是简单的对密码进行了md5加密计算;

 6、找到函数password_salt;发现密码被加入字符_bt.cn计算md5,然后加salt,在计算MD5;


7、下一步要找到salt是什么,它的值是多少?在该文件中搜索salt,找到。发现salt是一个12位的随机数,在这个函数中调用了数据库,将salt存放到了数据库中,用到M方法;

 8、下面找打M方法:搜索 def M;找到后发现了数据库文件的位置:data/default.db,

 9、下面找打这个数据库,下载打开查看。使用sqlite打开后,选择查看数据,在user表中找到salt的值。 通过以上分析,发现宝塔面板的密码是经过三次加密计算。

10、宝塔账号中手机号码显示全,在如下路径中可以找到:
路径:/www/server/panel/data/userinfo.json 。

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

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

相关文章

操作系统2(多处理器编程)

一、并发 1.操作系统是最早的并发程序之一 2.并发的基本单位:线程 共享内存的多个执行流 执行流拥有独立的堆栈/寄存器共享全部的内存(指针可以互相引用) 3.实现原子性 lock(&lk)unlock(&lk) 实现临界区(critical section)之间…

Redis监控步骤get!Google精髓的四大法则直接掌握

Redis也是对外服务,所以Google四个黄金指标同样适用,还从延迟、流量、错误、饱和度分析Redis关键指标。 1 延迟 选择Redis是想得到更快响应速度和更高吞吐量,所以延迟数据对使用Redis的应用程序至关重要。 1.1 如何监控延迟 ① 客户端应用…

C++之深入解析如何实现一个线程池

一、基础概念 当进行并行的任务作业操作时,线程的建立与销毁的开销是,阻碍性能进步的关键,因此线程池,由此产生。使用多个线程,无限制循环等待队列,进行计算和操作,帮助快速降低和减少性能损耗…

Linux安装Mysql操作步骤详解

目录 1. 检测当前系统中是否安装了MySql数据库 2. 使用FinalShell自带的上传工具将jdk的二进制发布包上传到Linux 3. 解压并解包到/usr/local/mysql(便于区分) 第一步:将包先移动到该目录下 第二步:解压解包 第三步&#xff1a…

springboot的创建和使用

目录 1.springboot的优点 2.springboot项目创建 2.1使用idea创建 2. 2 ⽹⻚版创建 3.项⽬⽬录介绍和运⾏ 3.1运行项目 3.2输出hello world 4.注意事项 1.路径 2.约定大于配置 spring的诞生为了简化java程序,springboot的诞生为了简化spring程序开发 1.springboot的优点…

了解标量、向量和点积

数据科学基础数学:线性代数简介 了解标量、向量和点积 机器只能按着算法理解和处理数据结构存储的数字. 例如创建垃圾邮件检测器,则首先必须将文本数据转换为数字(通过单词嵌入)。 两个句子之间的余弦相似性 两个句子之间的余弦相似性可以通过它们的向量…

Python小姿势 - Python使用Jupyter Notebook

Python使用Jupyter Notebook Jupyter Notebook是一个开源的Web应用程序,可以用来创建和共享包含 live code,公式,可视化和解释性文本的文档。 安装Jupyter Notebook 首先,确保你安装了正确的Python版本和包管理器(pip&…

java中的\t说明

阅读前请看一下:我是一个热衷于记录的人,每次写博客会反复研读,尽量不断提升博客质量。文章设置为仅粉丝可见,是因为写博客确实花了不少精力。希望互相进步谢谢!! 文章目录 阅读前请看一下:我是…

加载自己的图像数据集

文章目录 1 加载图像数据集2 图像预处理3 再次加载数据集4 这里还有一个问题,我们没有验证集5 构建DataLoader6 检查是否正确导入数据集 原文链接:《加载自己的图像数据集》 ​ 数据集下载链接 1 加载图像数据集 目录结构: 针对这种非常典型…

while语句和until语句顺便带点小实验

while语句和until语句 一、while用法二、Until循环语句三、趣味小实验猜价格的游戏(价格是随机数)写一个计算器脚本闲来无事去购物 一、while用法 for循环语句非常适用于列表对象无规律,且列表来源以固定(如某个列表文件&#xf…

nginx配置sh脚本远程执行一键安装

背景 本地多机重复操作某些shell指令,分步执行,很耗费时间, 需要远程一键部署,傻瓜化运维,更为通用安装。 即参考docker通用安装 sudo curl https://get.docker.com | sh - # sudo python3 -m pip install docker-co…

Design_transformer

磁性元件设计 思路 滤波电感设计 磁芯不要饱和(开气隙) 考虑铜损大于铁损 谐振电感设计 磁芯不要饱和(开气隙) 考虑铁损大于铜损 变压器设计 磁芯不要饱和(开气隙) 励磁电流产生磁场 开气隙 增加了…

FreeRTOS系统学习-内核篇.01-数据结构---列表与列表项定义详解-链表节点插入实验

# 内核篇.01 列表与列表项 为什么要学列表?链表单向链表双向链表 FreeRTOS 中链表的实现节点节点初始化尾节点根节点链表根节点初始化将节点插入到链表的尾部将节点按照升序排列插入到链表将节点从链表删除节点带参宏小函数 链表节点插入实验实验现象 为什么要学列表…

内存优化-比glibc更快的tcmalloc

TCMalloc 是 Google 开发的内存分配器,在不少项目中都有使用,例如在 Golang 中就使用了类似的算法进行内存分配。它具有现代化内存分配器的基本特征:对抗内存碎片、在多核处理器能够 scale。据称,它的内存分配速度是 glibc2.3 中实…

vue3表单输入绑定

初识表单输入绑定 vue3可以帮助我们将vue定义的变量绑定到html表单元素上&#xff0c;并且监听到html表单元素修改值时&#xff0c;会将对应的vue定义的变量修改。 <!-- 将vue3定义的text绑定给inut元素, 当input元素发生input输入事件时, 将修改vue3定义的text --> <…

WeakMap 与 WeakSet

WeakSet WeakSet 结构与 Set 类似&#xff0c;也是不重复的值的集合。 成员都是数组和类似数组的对象&#xff0c;WeakSet 的成员只能是对象&#xff0c;而不能是其他类型的值。 若调用 add() 方法时传入了非数组和类似数组的对象的参数&#xff0c;就会抛出错误。 const b …

SpringBoot + Druid DataSource 实现监控 MySQL 性能

1 添加依赖 <properties><java.version>1.8</java.version><alibabaDruidStarter.version>1.2.11</alibabaDruidStarter.version> </properties><dependency><groupId>com.alibaba</groupId><artifactId>druid-s…

MYSQL进阶02

MYSQL进阶02 数据类型char与varchartext与blob浮点数与定点数日期类型的选择 数据类型 char与varchar char和varchar类型类似&#xff0c;都用来存储字符串&#xff0c;但是他们保存和检索的方式不同。char属于固定长度的字符类型&#xff0c;而varchar属于可变长度的字符类型…

【Java校招面试】基础知识(四)——JVM

目录 前言一、基础概念二、反射三、类加载器ClassLoader四、JVM内存模型后记 前言 本篇主要介绍Java虚拟机——JVM的相关内容。 “基础知识”是本专栏的第一个部分&#xff0c;本篇博文是第四篇博文&#xff0c;如有需要&#xff0c;可&#xff1a; 点击这里&#xff0c;返回…

营收、利润增速第一!海尔智家为何领跑?

“企业只有保持领先的能力&#xff0c;才有可能取得经济成果。” 管理学大师德鲁克曾如此强调。所谓“领先”&#xff0c;就是独一无二的、有价值的东西。利润&#xff0c;是企业在某个领域取得领先优势后&#xff0c;必然获得的回报。 这种“领先优势”&#xff0c;在各行业…