0


《网络安全自学教程》- MySQL匿名用户的原理分析与实战研究

《网络安全自学教程》

在这里插入图片描述

低版本的MySQL数据库在安装时会创建一个用户名和密码为空的账户,也就是匿名账户。即使升级到高版本,匿名账户仍然会存在。

在这里插入图片描述

MySQL匿名账户

1、检查是否存在匿名账户

selectuser,host,authentication_string from mysql.user;

查询结果中,用户名和密码为空的,就是匿名账户。

在这里插入图片描述

扩展:MySQL5.7版本开始,将 mysql.user 表的 password 字段换成了 authentication_string,老版本查询用户信息要用

select user,password from mysql.user;

2、检查用户权限

show grants for''@'localhost';

查询结果中,匿名用户的权限是 USAGE,是服务器管理的权限,权限很高,有风险。

在这里插入图片描述

扩展:解释一下查询结果中的权限是什么意思

  • GRANT:修改用户权限的命令。
  • USAGE:给用户的权限。
  • ON:权限对哪些 数据库.表 生效,这里的 *.* 意思是对所有数据库、所有表生效。
  • TO:权限给那个用户,格式 '用户名'@'登录主机'

3、创建匿名账户

除了系统自带的匿名账户,我们也可以自己创建匿名账户。

createuser''@'localhost';

在这里插入图片描述

4、使用匿名账户登录

用户名和密码留空,指定登录主机,可以登录匿名账户。

 mysql -u-p-hlocalhost

在这里插入图片描述

这是一个风险点,基线加固或者漏扫的时候都会检查出来。

5、删除匿名账户

使用root或高权限用户删除。

deletefrom mysql.userwhereuser='';

在这里插入图片描述

删除后需要

flush privileges;

刷新权限,否则还是可以登录。

在这里插入图片描述


本文转载自: https://blog.csdn.net/wangyuxiang946/article/details/140126319
版权归原作者 士别三日wyx 所有, 如有侵权,请联系我们删除。

“《网络安全自学教程》- MySQL匿名用户的原理分析与实战研究”的评论:

还没有评论