通常情况下,大家可以使用以下三种方式来提权:
1. 在mysql.user表中添加一个新用户,然后给这个新用户root权限。 2. 利用mysql_safe工具,通过命令行启动MySQL服务器,并成功获得root权限。 3. 利用本地root权限的漏洞,实现远程root权限的提升。
下面,大家就分别来介绍一下这三种方法的具体实现过程:
1. 在mysql.user表中添加一个新用户,然后给这个新用户root权限。 (1) 用已有的账户登录MySQL; (2) 在MySQL控制台中创建新用户,并赋予root权限。 CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION; (3) 在mysql.user表中将新用户的host字段修改为root账户的host字段,如下所示: UPDATE mysql.user SET host='rootAccountHost' WHERE user='newuser'; (4) 最后,大家就可以用新用户登录MySQL,并拥有root的权限了。
2. 利用mysql_safe工具,通过命令行启动MySQL服务器,并成功获得root权限。 (1) 先把MySQL服务器停止运行; (2) 执行命令“mysqld_safe --skip-grant-tables”,启动MySQL服务器; (3) 用新开的一个命令行窗口,登录MySQL; (4) 利用ALTER语句修改root账户的密码; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; (5) 回到刚才新开的命令行窗口,停止MySQL服务器; (6) 正常启动MySQL服务器; (7) 使用新密码登录MySQL,即可拥有root权限。
3. 利用本地root权限的漏洞,实现远程root权限的提升。 (1) 利用已有的root权限,设置一个新的账户,并给予其root权限; (2) 利用root权限,将本地文件系统中的/bin/bash文件备份,并重命名为原来的sudo文件名; (3) 修改/etc/sudoers文件的权限,使得自己可以写入; (4) 将自己添加为sudoers文件中的root用户; (5) 登录为新添加的账户,执行sudo操作,即可获得root权限。
以上就是在没有root权限的情况下提权的三种方法。大家可以根据具体情况选择适合自己的方法进行实现。