本文小編為大家詳細(xì)介紹“如何隱藏MySQL版本”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“如何隱藏mysql版本”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
創(chuàng)新互聯(lián)專注于屯留網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供屯留營(yíng)銷型網(wǎng)站建設(shè),屯留網(wǎng)站制作、屯留網(wǎng)頁(yè)設(shè)計(jì)、屯留網(wǎng)站官網(wǎng)定制、小程序開(kāi)發(fā)服務(wù),打造屯留網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供屯留網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
隱藏mysql版本的方法:1、通過(guò)“mysql -uroot -p> select version();”命令查看當(dāng)前mysql 版本;2、開(kāi)啟MySQL服務(wù),添加防火墻策略;3、備份文件“mysqld.bak”;4、打開(kāi)“/usr/sbin/mysqld”文件,并替換其中的版本信息即可。
項(xiàng)目中,甲方對(duì)服務(wù)器做安全掃描,發(fā)現(xiàn)存在較多 MySQL 低版本漏洞,并要求修復(fù)。但考慮到業(yè)務(wù)的影響,不方便直接對(duì)當(dāng)前版本做升級(jí),且我們業(yè)務(wù)部署在內(nèi)網(wǎng)環(huán)境,也做了網(wǎng)絡(luò)訪問(wèn)限制,因此實(shí)際安全隱患較小。這里嘗試尋找其他的方法進(jìn)行規(guī)避,即修改 MySQL 的版本號(hào),隱藏其真實(shí)的版本信息
查看當(dāng)前版本的方法有很多,常見(jiàn)的有:
服務(wù)器上執(zhí)行 mysql -V
登錄mysql,使用sql語(yǔ)句查詢
mysql -uroot -p> select version();沒(méi)有登錄權(quán)限的情況下,還可以使用 telnet 或 nmap 工具進(jìn)行探測(cè)掃描,得到 mysql 的版本信息:
telnet
telnet [host] [port]nmap
nmap -T4 -sC -sV -p [port] [ip]| 序號(hào) | 名稱 | 版本 | 備注 |
|---|---|---|---|
| 1 | Linux操作系統(tǒng) | CentOS 7.6 | IP:192.168.64.147 |
| 2 | MySQL數(shù)據(jù)庫(kù) | 5.7.22 | rpm安裝 |
下載安裝 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.jpg)
.jpg)

2. 開(kāi)啟 MySQL 服務(wù),添加防火墻策略
systemctl start mysqld && systemctl status mysqld
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
firewall-cmd --list-all.jpg)
3. 設(shè)置密碼
passwd=`grep 'password' /var/log/mysqld.log|awk '{print $NF}'`mysqladmin -u root -p$passwd password Aa123456..jpg)
4. 設(shè)置遠(yuǎn)程連接
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;
5. 查看當(dāng)前版本
mysql> select version();mysql> \q
mysql -V.jpg)
telnet 192.168.64.147 3306
nmap -T4 -sC -sV -p 3306 192.168.64.147
備份文件
cp /usr/bin/mysql /usr/bin/mysql.bakcp /usr/sbin/mysqld /usr/sbin/mysqld.bak.jpg)
2. 編輯二進(jìn)制文件,替換其中的版本信息
如果只想對(duì)外部探測(cè) MySQL 的真實(shí)版本信息進(jìn)行隱藏,只需改 /usr/sbin/mysqld 文件。
??????注意:版本號(hào)不可為空或刪減其他信息,否則可能導(dǎo)致服務(wù)無(wú)法啟用!
vi /usr/bin/mysql# 搜索關(guān)鍵字“Linux”快速定位,修改版本號(hào),建議改為官網(wǎng)最新的穩(wěn)定版本^@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
.jpg)

vi /usr/sbin/mysqld
# 搜索關(guān)鍵字“--language”快速定位,修改版本號(hào),建議改為官網(wǎng)最新的穩(wěn)定版本
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).jpg)
.jpg)
.jpg)
3. 重啟服務(wù)
systemctl restart mysqld
systemctl status mysqldnetstat -nplt |grep mysqld
4. 確認(rèn)版本
mysql -V
mysql -h 192.168.64.147 -uroot -pAa123456.
mysql> select version();mysql> \q.jpg)
5. 其他業(yè)務(wù)相關(guān)的測(cè)試
telnet 192.168.64.147 3306
nmap -T4 -sC -sV -p 3306 192.168.64.147
| 序號(hào) | 名稱 | 版本 | 備注 |
|---|---|---|---|
| 1 | Linux操作系統(tǒng) | CentOS 7.6 | IP:192.168.64.147 |
| 2 | MariaDB數(shù)據(jù)庫(kù) | 5.5.68 | rpm安裝 |
yum安裝
yum -y install mariadb-server telnet nmap net-tools.jpg)
2. 開(kāi)啟 MySQL 服務(wù),添加防火墻策略
systemctl start mariadb && systemctl status mariadb
firewall-cmd --permanent --add-port=3306/tcp
firewall-cmd --reload
firewall-cmd --list-all.jpg)
3. 設(shè)置密碼和遠(yuǎn)程連接
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;.jpg)
.jpg)
4. 查看當(dāng)前版本
MariaDB [mysql]> select version();MariaDB [mysql]> \q
mysql -V.jpg)
telnet 192.168.64.147 3306
nmap -T4 -sC -sV -p 3306 192.168.64.147.jpg)
備份文件
cp /usr/bin/mysql /usr/bin/mysql.bakcp /usr/libexec/mysqld /usr/libexec/mysqld.bak
2. 編輯二進(jìn)制文件,替換其中的版本信息
如果只想對(duì)外部探測(cè) MariaDB 的真實(shí)版本信息進(jìn)行隱藏,只需改 /usr/libexec/mysqld 文件。
??????注意:版本號(hào)不可為空或刪減其他信息,否則可能導(dǎo)致服務(wù)無(wú)法啟用!
vi /usr/bin/mysql# 搜索關(guān)鍵字“-MariaDB”快速定位,修改版本號(hào),建議改為官網(wǎng)最新的穩(wěn)定版本^@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


vi /usr/libexec/mysqld
# 同樣通過(guò)搜索關(guān)鍵字“-MariaDB”快速定位,修改版本號(hào),建議改為官網(wǎng)最新的穩(wěn)定版本^@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)

3. 重啟服務(wù)
systemctl restart mariadb
systemctl status mariadbnetstat -nplt |grep mysqld
4. 確認(rèn)版本
mysql -V
mysql -h 192.168.64.147 -uroot -pAa123456.
MariaDB [(none)]> select version();MariaDB [(none)]> \q
5. 其他業(yè)務(wù)相關(guān)的測(cè)試
為防止探測(cè)過(guò)程中出現(xiàn)錯(cuò)誤連接次數(shù)太多導(dǎo)致IP被鎖定,建議先提高允許的max_connection_errors數(shù)量;
或使用清楚緩存的方法,把計(jì)數(shù)清理掉
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
復(fù)測(cè)結(jié)果
telnet 192.168.64.147 3306
nmap -T4 -sC -sV -p 3306 192.168.64.147
讀到這里,這篇“如何隱藏mysql版本”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
文章題目:如何隱藏mysql版本
標(biāo)題鏈接:http://www.chinadenli.net/article22/piiojc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站排名、網(wǎng)站內(nèi)鏈、網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站維護(hù)、軟件開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)