MySQL匿名空用户名处理
问题描述:公司漏扫发现数据库内出现空用户名及密码,需要对这些用户进行整改

1.首先出现了疑问,这些空的用户名是怎么出现的,而且不附带密码。
2.可以手动这样创建这样的用户名和密码形式么。
3.如果能这样创建一个用户,是不是我可以不用用户名和密码能直接登录服务器呢。
4.如何对这样的形式存在进行规避。
空用户名为匿名用户,那么匿名用户能登录么,登录方式可以不用带用户名么。延伸到了mysql的匿名用户,安装完MySQL后,系统默认会创建一个不需要密码的root用户,和一个无用户名无密码的匿名用户(Anonymous Account)。进行下面的初始化操作以合理授权,增强安全。
mysql> create user ''@'localhost' ;
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,authentication_string from mysql.user;
+------------------+-----------+------------------------------------------------------------------------+
| user | host | authentication_string |
+------------------+-----------+------------------------------------------------------------------------+
| employee_proxy | % | *DC6775B6D1F01EFD99CC191E929862480DAC2F7A |
| root | % | *858D7135C67CFFAEE40C01A38AB99018DBB245A7 |
| test01 | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| tspmlf | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| username | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| | localhost | |
| backuper | localhost | *4DDFC2472B45DA20DB77FD7F3C19996CCCE35897 |
| employee | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | *858D7135C67CFFAEE40C01A38AB99018DBB245A7 |
| zabbix | localhost | *C5A9E29672800EE5E1A1B0EA8C397728FD1660D8 |
+------------------+-----------+------------------------------------------------------------------------+
13 rows in set (0.00 sec)
[mysql@rhel7 ~]$ /usr/local/mysql8/bin/mysql -u -p -hlocalhost -P33306 -S /data/mysql8/db_dxpt08/mysql.sock
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 8.0.22 MySQL Community Server - GPL Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
--测试证明,采用匿名登录测试可以直接登录数据库,不过登录进来权限受限制
mysql>
mysql> show grants for ''@'localhost' ;
+--------------------------------------+
| Grants for @localhost |
+--------------------------------------+
| GRANT USAGE ON *.* TO ``@`localhost` |
+--------------------------------------+
1 row in set (0.00 sec)
mysql> select current_user(),user();
+----------------+--------------+
| current_user() | user() |
+----------------+--------------+
| @localhost | -p@localhost |
+----------------+--------------+
1 row in set (0.00 sec)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.00 sec)
mysql>
mysql>
mysql> select user,host from mysql.user;
ERROR 1142 (42000): SELECT command denied to user ''@'localhost' for table 'user'
如何进行规避,删除这种方式
--用drop ‘’@‘localhost’ 方式进行删除
mysql> select user,host,authentication_string from mysql.user;
+------------------+-----------+------------------------------------------------------------------------+
| user | host | authentication_string |
+------------------+-----------+------------------------------------------------------------------------+
| employee_proxy | % | *DC6775B6D1F01EFD99CC191E929862480DAC2F7A |
| root | % | *858D7135C67CFFAEE40C01A38AB99018DBB245A7 |
| test01 | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| tspmlf | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| username | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| | localhost | |
| backuper | localhost | *4DDFC2472B45DA20DB77FD7F3C19996CCCE35897 |
| employee | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | *858D7135C67CFFAEE40C01A38AB99018DBB245A7 |
| zabbix | localhost | *C5A9E29672800EE5E1A1B0EA8C397728FD1660D8 |
+------------------+-----------+------------------------------------------------------------------------+
13 rows in set (0.00 sec) mysql> drop user ''@'localhost';
Query OK, 0 rows affected (0.01 sec) mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec) mysql> select user,host,authentication_string from mysql.user;
+------------------+-----------+------------------------------------------------------------------------+
| user | host | authentication_string |
+------------------+-----------+------------------------------------------------------------------------+
| employee_proxy | % | *DC6775B6D1F01EFD99CC191E929862480DAC2F7A |
| root | % | *858D7135C67CFFAEE40C01A38AB99018DBB245A7 |
| test01 | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| tspmlf | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| username | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| backuper | localhost | *4DDFC2472B45DA20DB77FD7F3C19996CCCE35897 |
| employee | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | *858D7135C67CFFAEE40C01A38AB99018DBB245A7 |
| zabbix | localhost | *C5A9E29672800EE5E1A1B0EA8C397728FD1660D8 |
+------------------+-----------+------------------------------------------------------------------------+
12 rows in set (0.00 sec)
--delete from mysql.user where user='';
mysql> create user ''@'127.0.0.1' ;
Query OK, 0 rows affected (0.01 sec) mysql> select user,host,authentication_string from mysql.user;
+------------------+-----------+------------------------------------------------------------------------+
| user | host | authentication_string |
+------------------+-----------+------------------------------------------------------------------------+
| employee_proxy | % | *DC6775B6D1F01EFD99CC191E929862480DAC2F7A |
| root | % | *858D7135C67CFFAEE40C01A38AB99018DBB245A7 |
| test01 | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| tspmlf | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| username | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| | 127.0.0.1 | |
| backuper | localhost | *4DDFC2472B45DA20DB77FD7F3C19996CCCE35897 |
| employee | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | *858D7135C67CFFAEE40C01A38AB99018DBB245A7 |
| zabbix | localhost | *C5A9E29672800EE5E1A1B0EA8C397728FD1660D8 |
+------------------+-----------+------------------------------------------------------------------------+
13 rows in set (0.00 sec) mysql> delete from mysql.user where user='';
Query OK, 1 row affected (0.00 sec) mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec) mysql> select user,host,authentication_string from mysql.user;
+------------------+-----------+------------------------------------------------------------------------+
| user | host | authentication_string |
+------------------+-----------+------------------------------------------------------------------------+
| employee_proxy | % | *DC6775B6D1F01EFD99CC191E929862480DAC2F7A |
| root | % | *858D7135C67CFFAEE40C01A38AB99018DBB245A7 |
| test01 | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| tspmlf | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| username | % | *23AE809DDACAF96AF0FD78ED04B6A265E05AA257 |
| backuper | localhost | *4DDFC2472B45DA20DB77FD7F3C19996CCCE35897 |
| employee | localhost | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |
| mysql.infoschema | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.session | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| mysql.sys | localhost | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED |
| root | localhost | *858D7135C67CFFAEE40C01A38AB99018DBB245A7 |
| zabbix | localhost | *C5A9E29672800EE5E1A1B0EA8C397728FD1660D8 |
+------------------+-----------+------------------------------------------------------------------------+
12 rows in set (0.00 sec)
匿名用户一般会在刚创建完数据库时,用来防止用户忘记登录密码。如果不及时清理掉,会暴露一个风险给漏扫。
MySQL匿名空用户名处理的更多相关文章
- 何修改WAMP中mysql默认空密码--转
何修改WAMP中mysql默认空密码 http://www.cnblogs.com/hooray/archive/2011/07/23/2114792.html WAMP安装好后,mysql密码是为 ...
- paip.导入数据英文音标到数据库mysql为空的问题之道解决原理
paip.导入数据英文音标到数据库mysql为空的问题之道解决原理 #---原因:mysql 导入工具的bug #---解决:使用双引号不个音标括起来. 作者 老哇的爪子 Attilax 艾龙, E ...
- WAMP中修改mysql默认空密码
WAMP中如何修改mysql默认空密码 WAMP安装好后,mysql教程密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作.首先,通过WAMP打开mysql控制台.提 ...
- 解决windows下的mysql匿名登陆无法使用mysql数据库的问题
原文:解决windows下的mysql匿名登陆无法使用mysql数据库的问题 我在windows下安装了mysql,但是不用密码就能登进去,而root明明是有密码的,我用select user()命令 ...
- MySQL设置空密码
因为刚安装的时候,MySQL强制设置密码,但是我需要设置MySQL为空密码 语句: ';
- 【转】修改mysql数据库的用户名和密码
修改mysql数据库的用户名和密码 更改密码 mysql -u root -p Enter password:*** mysql>use mysql; 选择数据库 Database change ...
- c# 调用mysql数据库验证用户名和密码
使用mysql数据库验证用户名和密码时,如果用户名是中文,一直查不到数据 需要把app.config 中修改为 数据库统一设置utf8编码格式,连接数据库的时候设置编码Charset=utf8可以避免 ...
- 修改WAMP中mysql默认空密码
WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 首先,通过WAMP打开mysql控制台. 提示输入密码,因为现在是空,所以直接按回车 ...
- 如何修改WAMP中mysql默认空密码
WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 首先,通过WAMP打开mysql控制台. 提示输入密码,因为现在是空,所以直接按 ...
- 如何修改WAMP中mysql默认空密码 以及修改时报错的处理方法
WAMP安装好后,mysql密码是为空的,那么要如何修改呢?其实很简单,通过几条指令就行了,下面我就一步步来操作. 首先,通过WAMP打开mysql控制台. 提示输入密码,因为现在是空,所以直接按回车 ...
随机推荐
- Pycharm 2021.3 的激活破解教程,永久激活,亲测有效
关注公众号回复 pycharm 即可获取激活脚本和教程 更新时间 2022年1月20日. 不定时更新 激活码可在公众号中回复[激活码]获取.
- 微信小程序 css overflow :hidden 子元素不生效
原css .item .right { width: 70%; } .item .right .name { font-size: 32rpx; font-family ...
- VUE-使用touchstart、touchmove、touchend实现拖拽卡片列表,实现更新排序功能
感谢本文参考地址,原文解析更加清晰如有需要请移步:https://blog.csdn.net/weixin_40400844/article/details/114849253 怕原链接失效,将代码拷 ...
- JVM-创建一个对象的详细过程
Person person=new Person(): 1.现在栈中申请一个自己的栈空间 2.类加载检查 每当使用new操作符创建一个对象时,类加载器都会从常量池中寻找该对象的符号引用,如果找到,则根 ...
- 量化交易基础-ICIR
IC - information coefficient r=1.5+a1+a2+...+a81 ai={-1,1}随机序列 ()收益序列 E(r)=1.5 期望 cov(r)=81 协方差 std( ...
- 在LaTeX中使用BibTeX时的一个问题及其解决:编译PDF不随bib文件更新
问题:更新bib文件之后,编译tex文件输出的PDF文件没有相应的更新. 原理: bbl文件才是引文的信息,bib文件只是用于生成bbl文件的一个"数据集"而已. 一般来说,LaT ...
- C# 动态操作 控件位置绑定 [ Anchor ] 属性
注: 1.此类属于非常用类,只因本人需要编写的...顺便刷贴一下 2.对于初学,其中的枚举使用可以为你加深一点印象 以下为操作类代码: public class AchCtrer { #region ...
- ABP vNext微服务架构详细教程——镜像推送
1. Jenkins搭建 为实现容器化部署,我们需要将代码打包成镜像并推送至容器仓库,我们可以选择自建容器仓库或者使用公有云服务商提供的镜像仓库.这里我们使用阿里云提供的免费镜像仓库. 代码打包和镜像 ...
- 渲染器的实现(1)--《vue.js设计与实现》
function renderer(domString, container) { container.innerHTML = domString } let count = ref(1) rende ...
- 【javascript】export 与 export default 区别
总是记不得,自己打一遍 通过export方式导出,在导入时要加{ },export default则不需要,因为它本身只能有一个