由max_allowed_packet引發的mysql攻防大戰


1.原因

程序的sql語句比較長.max_allowed_packet默認是1024.於是就報錯了.一開始手動改 global max_allowed_packet ,改完后.莫名奇妙被還原.后來改配置文件還是不起作用(其實配置文件一開始就沒生效,后來發現的).好幾次了.惱火的不行.於是昨天百度之.看了好幾個都感覺不靠譜.其中有個說被黑客攻擊了.建議開啟 general_log 日志查看一下記錄.打算試試.

2.現行

日志昨天開啟.今天上午查看.看着看着就發現不對了.果不其然被黑客入侵了.

可能之前就已經攻破了.順利的登錄.看了一下系統版本.然后開始授權.接着開始加入了一個用戶.

查了一下ip地址.浙江紹興的.

連接記錄

種木馬文件.我到目錄看了下.已經有好幾個木馬了.名字不一樣.怪不得殺毒軟件總報病毒.原因在這呢.

3.第一回合

先把黑客新增的用戶刪除.root用戶不允許遠程登錄.新建了一個用戶.給了基本權限.結果晚上的時候數據庫還是有些連不上去.斷斷續續的

 

不停的暴力破解密碼.雖然禁止root登錄.但是這個感覺有點ddos的意思.我自己反而連接不上去了.

4.第二回合

默認是3306.黑客可以通過軟件掃描.暴力破解.那就改端口.隨便改了一個.於是我就能順利的連接了.

5.后記

這次真是這么近第一次接觸黑客.以前都是自己手賤點擊不明安裝程序什么的才會中木馬.這次看他們的sql語句真的是大漲見識.好多自己都不太清楚.

比如寫文件等等.沒注意找讓文件運行的語句.我想應該還會自動加載木馬讓它運行.

以前真是沒怎么注意安全這方面.我想只要限制一下用戶和改端口.我想他就沒辦法了.其實后面這個改端口比較重要.

我又想他會不會去掃端口去........

上面第二部分的圖片有的是上午看到的.還有一部分是晚上登錄不上去看到的.就放一起了.

這里說幾個這次用到的命令

查看日志是否開啟

show GLOBAL VARIABLES like '%general_log%' --查看是否開啟
set GLOBAL general_log = on  --設置為開啟
set GLOBAL general_log_file='g:\\mysql.log'  --日志路徑

雖說開了比較占地方.但是感覺不對勁.或者開個一兩天看看有沒有異常.還是值得的.而且也不需要重啟mysql服務

我這個是測試機用的mysql免安裝版.啟動比較好說.雙擊 mysqld.exe就行

關閉命令,在bin目錄.按住shift.右鍵有個在此處運行命令窗口.然后執行下面的話就行.

安裝目錄bin\ mysqladmin -uroot -p shutdown

 顯示用戶權限

show grants for root@'localhost';

查看用戶

select * from mysql.user

插入用戶

CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 

授權

GRANT SELECT, INSERT, UPDATE, DELETE, DROP, INDEX, ALTER, EXECUTE ON `數據庫名稱`.* TO '用戶名稱'@'%'

說說這個改端口.這個免安裝版目錄下有個my-default.ini的文件.直接改這個是不啟用的.要復制一份.改名為my.ini才可以.

改端口就是在這個配置文件加一句 port=xxx 就可以了.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM