有了webshell之后应该怎么拿下宝塔?
字数 929 2025-08-12 11:34:39
通过Webshell获取宝塔面板权限的详细指南
前言
本指南详细介绍了在已获得Webshell权限的情况下,如何进一步获取宝塔面板控制权的技术方法。该方法适用于管理员已修改默认密码且无法通过常规手段破解的情况。
前置条件
- 已获得目标服务器的Webshell权限
- 能够提权至root权限(可使用如CVE-2021-4034等漏洞)
宝塔面板关键文件路径
在获得root权限后,需要了解以下宝塔面板的关键文件路径:
- 登录入口地址文件:
/www/server/panel/data/admin_path.pl - 默认密码文件:
/www/server/panel/default.pl - 账号信息工具:
python /www/server/panel/tools.py username - 账号数据库:
/www/server/panel/data/default.db - 密码盐值文件:
/www/server/panel/class/public.py
常规方法尝试
- 获取登录入口地址
- 查看默认用户名和密码
- 尝试登录(通常失败,因为管理员会修改默认密码)
创新方法:数据库修改技术
当常规方法失效时,可采用以下创新方法:
步骤1:下载原始数据库文件
将宝塔面板的数据库文件default.db下载到本地或临时目录。
步骤2:修改数据库添加新用户
在数据库的user表中新增一条记录,创建自定义用户名和密码的用户。
密码加密方式
宝塔面板密码采用多重加密:
md5(md5(md5(password)+'_bt.cn')+salt)
加密过程可借助cmd5网站逐步生成:
- 对原始密码进行MD5加密
- 添加"_bt.cn"后缀
- 再次MD5加密
- 添加salt值
- 最后MD5加密
步骤3:上传修改后的数据库
将修改后的数据库文件覆盖原文件:
cp /tmp/default.db /www/server/panel/data/
注意:此操作无需重启宝塔服务即可生效。
步骤4:登录宝塔面板
使用新创建的用户凭据登录宝塔面板:
http://IP:8888/[登录入口地址]
技术原理总结
该方法利用了宝塔面板的以下特性:
- 数据库修改即时生效,无需服务重启
- 通过添加新用户而非破解现有用户密码
- 绕过了复杂的密码加密机制
免责声明
本文档仅供学习和研究使用。任何使用此技术造成的直接或间接后果均由使用者自行承担。请在合法授权范围内进行安全测试和研究。