我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何隐藏mysql版本

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何隐藏mysql版本

本文小编为大家详细介绍“如何隐藏mysql版本”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何隐藏mysql版本”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

隐藏mysql版本的方法:1、通过“mysql -uroot -p> select version();”命令查看当前mysql 版本;2、开启MySQL服务,添加防火墙策略;3、备份文件“mysqld.bak”;4、打开“/usr/sbin/mysqld”文件,并替换其中的版本信息即可。

隐藏MySQL/MariaDB真实版本信息

项目中,甲方对服务器做安全扫描,发现存在较多 MySQL 低版本漏洞,并要求修复。但考虑到业务的影响,不方便直接对当前版本做升级,且我们业务部署在内网环境,也做了网络访问限制,因此实际安全隐患较小。这里尝试寻找其他的方法进行规避,即修改 MySQL 的版本号,隐藏其真实的版本信息

探测MySQL/MariaDB版本信息

查看当前版本的方法有很多,常见的有:

  • 服务器上执行 mysql -V

  • 登录mysql,使用sql语句查询

mysql -uroot -p> select version();

没有登录权限的情况下,还可以使用 telnet 或 nmap 工具进行探测扫描,得到 mysql 的版本信息:

  • telnet

telnet [host] [port]
  • nmap

nmap -T4 -sC -sV -p [port] [ip]

隐藏MySQL真实版本信息

测试环境

序号名称版本备注
1Linux操作系统CentOS 7.6IP:192.168.64.147
2MySQL数据库5.7.22rpm安装

安装过程

  1. 下载安装 rpm 包

yum -y install wget telnet nmap net-toolswget -P /opt/mysql https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.22-1.el7.x86_64.rpm-bundle.tartar -xf /opt/mysql/mysql-5.7.22-1.el7.x86_64.rpm-bundle.tar -C /opt/mysqlcd /opt/mysqlls -lh /opt/mysql/
yum -y remove mariadb*
yum -y install \
 mysql-community-common-5.7.22-1.el7.x86_64.rpm \
 mysql-community-libs-5.7.22-1.el7.x86_64.rpm \
 mysql-community-client-5.7.22-1.el7.x86_64.rpm \
 mysql-community-server-5.7.22-1.el7.x86_64.rpm

如何隐藏mysql版本
如何隐藏mysql版本
如何隐藏mysql版本
2. 开启 MySQL 服务,添加防火墙策略

systemctl start mysqld && systemctl status mysqld
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
firewall-cmd --list-all

如何隐藏mysql版本
3. 设置密码

passwd=`grep 'password' /var/log/mysqld.log|awk '{print $NF}'`mysqladmin -u root -p$passwd password Aa123456.

如何隐藏mysql版本
4. 设置远程连接

mysql -uroot -pAa123456.
mysql> use mysql;mysql> select user,host from user;mysql> update user set host='%' where user='root';mysql> flush privileges;mysql> select user,host from user;

如何隐藏mysql版本
5. 查看当前版本

mysql> select version();mysql> \q
mysql -V

如何隐藏mysql版本

版本信息探测

telnet 192.168.64.147 3306
nmap -T4 -sC -sV -p 3306 192.168.64.147

如何隐藏mysql版本

修改版本信息

  1. 备份文件

cp /usr/bin/mysql /usr/bin/mysql.bakcp /usr/sbin/mysqld /usr/sbin/mysqld.bak

如何隐藏mysql版本
2. 编辑二进制文件,替换其中的版本信息
如果只想对外部探测 MySQL 的真实版本信息进行隐藏,只需改 /usr/sbin/mysqld 文件。
❗️❗️❗️注意:版本号不可为空或删减其他信息,否则可能导致服务无法启用!

vi /usr/bin/mysql# 搜索关键字“Linux”快速定位,修改版本号,建议改为官网最新的稳定版本^@fwrite^@\0^@\t^@\n^@\\^@ERROR^@ %d (%s)^@ at line %lu^@ in file: '%s'^@ERROR %d (%s): ^@ERROR %d: ^@ERROR: ^@UNKNOWN USER^@MysqlClient^@LOGNAME^@LOGIN^@SUDO_USER^@Linux^@5.7.22^@x86_64^@Show warnings enabled.^@Show warnings disabled.^@Aborted^@Bye^@Writing history-file %s# 参考案例:^@fwrite^@\0^@\t^@\n^@\\^@ERROR^@ %d (%s)^@ at line %lu^@ in file: '%s'^@ERROR %d (%s): ^@ERROR %d: ^@ERROR: ^@UNKNOWN USER^@MysqlClient^@LOGNAME^@LOGIN^@SUDO_USER^@Linux^@5.7.37^@x86_64^@Show warnings enabled.^@Show warnings disabled.^@Aborted^@Bye^@Writing history-file %s

如何隐藏mysql版本
如何隐藏mysql版本
如何隐藏mysql版本

vi /usr/sbin/mysqld
# 搜索关键字“--language”快速定位,修改版本号,建议改为官网最新的稳定版本
H<8b>^P1öéz¬,ÿ1Òëõ^@^@H<83>ì^HH<83>Ä^HÃ^@^@^@^@^@^@^@^@^@^@^@^A^@^B^@^@^@^@^@^@^@^@^@^@^@^@^@%s: %s^@MYSQL_AUDIT_GENERAL_ERROR^@OFF^@BOTH^@NO_AUTO_CLEAR^@NO_INTERNAL_LOOKUP^@Unknown^@tcp^@MYSQL_TCP_PORT^@/var/lib/mysql/mysql.sock^@MYSQL_UNIX_PORT^@Unable to delete pid file: %s^@%.3f^@.lower-test^@.LOWER-TEST^@Can't create test file %s^@Shutting down slave threads^@'--lc-messages-dir'^@--language/-l^@--binlog_max_flush_queue_time^@5.7.22^@Linux^@%s  Ver %s for %s on %s (%s)

# 参考案例:
H<8b>^P1öéz¬,ÿ1Òëõ^@^@H<83>ì^HH<83>Ä^HÃ^@^@^@^@^@^@^@^@^@^@^@^A^@^B^@^@^@^@^@^@^@^@^@^@^@^@^@%s: %s^@MYSQL_AUDIT_GENERAL_ERROR^@OFF^@BOTH^@NO_AUTO_CLEAR^@NO_INTERNAL_LOOKUP^@Unknown^@tcp^@MYSQL_TCP_PORT^@/var/lib/mysql/mysql.sock^@MYSQL_UNIX_PORT^@Unable to delete pid file: %s^@%.3f^@.lower-test^@.LOWER-TEST^@Can't create test file %s^@Shutting down slave threads^@'--lc-messages-dir'^@--language/-l^@--binlog_max_flush_queue_time^@5.7.37^@Linux^@%s  Ver %s for %s on %s (%s)

如何隐藏mysql版本
如何隐藏mysql版本
如何隐藏mysql版本
3. 重启服务

systemctl restart mysqld
systemctl status mysqldnetstat -nplt |grep mysqld

如何隐藏mysql版本
4. 确认版本

mysql -V
mysql -h 192.168.64.147 -uroot -pAa123456.
mysql> select version();mysql> \q

如何隐藏mysql版本
5. 其他业务相关的测试

版本信息复测

telnet 192.168.64.147 3306
nmap -T4 -sC -sV -p 3306 192.168.64.147

如何隐藏mysql版本

隐藏MariaDB真实版本信息

测试环境

序号名称版本备注
1Linux操作系统CentOS 7.6IP:192.168.64.147
2MariaDB数据库5.5.68rpm安装

安装过程

  1. yum安装

yum -y install mariadb-server telnet nmap net-tools

如何隐藏mysql版本
2. 开启 MySQL 服务,添加防火墙策略

systemctl start mariadb && systemctl status mariadb
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
firewall-cmd --list-all

如何隐藏mysql版本
3. 设置密码和远程连接

mysqladmin -u root password "Aa123456."mysql -uroot -pAa123456.
MariaDB [(none)]> use mysql;MariaDB [mysql]> select user,host from user;MariaDB [mysql]> update user set host='%' where user='root';MariaDB [mysql]> flush privileges;MariaDB [mysql]> select user,host from user;

如何隐藏mysql版本
如何隐藏mysql版本
4. 查看当前版本

MariaDB [mysql]> select version();MariaDB [mysql]> \q
mysql -V

如何隐藏mysql版本

版本信息探测

telnet 192.168.64.147 3306
nmap -T4 -sC -sV -p 3306 192.168.64.147

如何隐藏mysql版本

修改版本信息

  1. 备份文件

cp /usr/bin/mysql /usr/bin/mysql.bakcp /usr/libexec/mysqld /usr/libexec/mysqld.bak

如何隐藏mysql版本
2. 编辑二进制文件,替换其中的版本信息
如果只想对外部探测 MariaDB 的真实版本信息进行隐藏,只需改 /usr/libexec/mysqld 文件。
❗️❗️❗️注意:版本号不可为空或删减其他信息,否则可能导致服务无法启用!

vi /usr/bin/mysql# 搜索关键字“-MariaDB”快速定位,修改版本号,建议改为官网最新的稳定版本^@KILL %s%lu^@ERROR^@ at line %lu^@ in file: '%s'^@ERROR %d (%s)^@ERROR %d^@Linux^@5.5.68-MariaDB^@readline^@x86_64^@vi^@EDITOR^@VISUAL^@Command '%.40s' failed^@Show warnings disabled.^@Show warnings enabled.^@Usage: \! shell-command^@Charset changed^@Charset is not found^@show databases^@show tables^@%.64s.%.64s^@*** NONE ***^@Connection id:    %lu^@Current database: %.128s# 参考案例:^@KILL %s%lu^@ERROR^@ at line %lu^@ in file: '%s'^@ERROR %d (%s)^@ERROR %d^@Linux^@10.7.3-MariaDB^@readline^@x86_64^@vi^@EDITOR^@VISUAL^@Command '%.40s' failed^@Show warnings disabled.^@Show warnings enabled.^@Usage: \! shell-command^@Charset changed^@Charset is not found^@show databases^@show tables^@%.64s.%.64s^@*** NONE ***^@Connection id:    %lu^@Current database: %.128s

如何隐藏mysql版本
如何隐藏mysql版本
如何隐藏mysql版本

vi /usr/libexec/mysqld 
# 同样通过搜索关键字“-MariaDB”快速定位,修改版本号,建议改为官网最新的稳定版本^@CLOSE_CONNECTION^@unauthenticated^@unconnected^@Error in accept^@5.5.68-MariaDB^@x86_64^@Linux^@%s  Ver %s for %s on %s (%s)# 参考案例:^@CLOSE_CONNECTION^@unauthenticated^@unconnected^@Error in accept^@10.7.3-MariaDB^@x86_64^@Linux^@%s  Ver %s for %s on %s (%s)

如何隐藏mysql版本
如何隐藏mysql版本
3. 重启服务

systemctl restart mariadb
systemctl status mariadbnetstat -nplt |grep mysqld

如何隐藏mysql版本
4. 确认版本

mysql -V
mysql -h 192.168.64.147 -uroot -pAa123456.
MariaDB [(none)]> select version();MariaDB [(none)]> \q

如何隐藏mysql版本
5. 其他业务相关的测试

版本信息复测

为防止探测过程中出现错误连接次数太多导致IP被锁定,建议先提高允许的max_connection_errors数量;
或使用清楚缓存的方法,把计数清理掉

mysql -h 127.0.0.1 -uroot
MariaDB [(none)]> show global variables like '%max_connect_errors%';MariaDB [(none)]> set global max_connect_errors=1000;MariaDB [(none)]> show global variables like '%max_connect_errors%';MariaDB [(none)]> flush hosts;MariaDB [(none)]> \q

如何隐藏mysql版本
复测结果

telnet 192.168.64.147 3306
nmap -T4 -sC -sV -p 3306 192.168.64.147

如何隐藏mysql版本

读到这里,这篇“如何隐藏mysql版本”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何隐藏mysql版本

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何隐藏mysql版本

本文小编为大家详细介绍“如何隐藏mysql版本”,内容详细,步骤清晰,细节处理妥当,希望这篇“如何隐藏mysql版本”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。隐藏mysql版本的方法:1、通过“mysql -
2023-07-05

html如何隐藏文本框

这篇文章主要介绍了html如何隐藏文本框,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。html隐藏文本框的方法:1、将input文本框type属性的值设置为“hidden”;
2023-06-15

如何在mysql中隐藏索引

这篇文章给大家介绍如何在mysql中隐藏索引,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、说明隐藏索引的特性对性能调整非常有用。在8.0中,索引可以被隐藏和显示。当索引被隐藏时,它不会被查询优化器使用。可以隐藏一个
2023-06-15

deepin20隐藏文件如何取消隐藏

小编给大家分享一下deepin20隐藏文件如何取消隐藏,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!deepin20系统中有很多重要的文件被隐藏了,想要修改,需要
2023-06-10

win7纯净版如何显示隐藏文件

这篇文章主要介绍“win7纯净版如何显示隐藏文件”,在日常操作中,相信很多人在win7纯净版如何显示隐藏文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”win7纯净版如何显示隐藏文件”的疑惑有所帮助!接下来
2023-07-01

如何在MySQL 8.0中隐藏字段

这篇文章主要介绍了如何在MySQL 8.0中隐藏字段,编程网小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随编程网小编来看看吧!基本概念隐藏字段需要在查询中进行显式引用,否则对查询而言是不可见的。MySQL 8.0.23 开始支持隐
2023-06-06

win10隐藏特定格式文件如何隐藏

本篇内容介绍了“win10隐藏特定格式文件如何隐藏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.在需要隐藏文件的文件夹中新建文本文档,2
2023-07-01

如何在css中隐藏文本框边框

如何在css中隐藏文本框边框?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在css中我们可以使用border-style属性来定义边框的样式,如果我们要取消文本框的边框,可以设
2023-06-15

laravel如何隐藏index.php

这篇文章给大家分享的是有关laravel如何隐藏index.php的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。laravel隐藏index.php的方法:1、开启Apache mod_rewrite模块,并修改
2023-06-15

编程热搜

目录