宝塔文件分析

发布时间 2023-12-25 22:49:07作者: 也许明天

宝塔文件分析

 

宝塔登录密码加密方式

此处分析的实验环境为宝塔版本:免费版 7.6.0

tools.py调用set_panel_pwd()函数设置密码

result = sql.table('users').where('id=?',(1,)).setField('password',public.password_salt(public.md5(password),uid=1))

此处看到使用了public.md5() 以及public.password_salt()两个函数进行了两次加密。

查找public文件,分析md5()以及password_salt()两个函数

文件路径:/www/server/panel/class/

可见public.md5(password)函数为对用户的密码进行md5加密。

public.password_salt()为:

其为对public.md5(password)的结果先第一次加盐 _bt.cn进行md5 ,然后再添加随机salt进行第2次md5加密。

salt 查看M()函数

可知,salt来源于数据库data/default.db的users表的sault字段。

其实就是如下简单的:
md5(md5(md5(password)+'_bt.cn')+ salt)

宝塔其它重要文件

开放端口:
D:/BtSoft1/panel/data/port.pl

后台地址:
D:/BtSoft1/panel/data/admin_path.pl

获取账号:
D:/BtSoft1/panel/data/default.db

获取宝塔默认登录密码:
D:/BtSoft1/panel/data/default.pl