宝塔文件分析
宝塔文件分析
宝塔登录密码加密方式
此处分析的实验环境为宝塔版本:免费版 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