利用SQL注入獲取服務器最高權限

單位有臺數據庫服務器(windows 2000 操作系統,sql server 2000)

前段時間莫名其妙的被***了

跑到機房,通過PE進去一看,發現多了一個賬戶(SQLDEBUG)。並且administrator賬戶被禁用了

看看數據沒少,也沒太在意。利用PE把賬戶破解了一下,就回單位了

 

今晚回來剛好要去數據庫服務器上,下個數據庫備份文件。結果發現密碼又登陸不了。

不祥預感出來了。難道我又要坐3個小時汽車去機房?

最關鍵的是,前段時間剛去過機房。星期一又去 。丟不起這個人吶!

第一反應想、。應該是上次那個問題

谷歌了下發現SQL 2000下默認是啓用“xp_cmdshell

從這個文件命名就知道威力有多大了。。

將信將疑的試了試(這個時候雖然服務器密碼被改了,但是數據庫SA密碼還是正常的)

Exec master..xp_cmdshell 'net user abc 3388/add'

看到上面命令太熟了。以前做過在win7下破解登陸密碼也是這個原理

在數據庫一運行,再到系統登錄進去了!!

E048578AC976AE701159CE4F4EEC6C84_B500_90

果然服務器上面有一個SQLDEBUG賬戶就在上面。

 

後面麼,就是通過命令把剛纔手動創建的用戶那啥啥啥

(不說了太細了,怕害人。有需要可以微博私心我。)

一切OK

心裏一陣冷汗,慶幸服務器是2000系統,沒有遠程桌面的。

要不然人家拿到賬戶直接遠程上來,完全可以刪除數據。而且是爲所欲爲

好了講下如何防止把

首先把這個xp_cmdshell 存儲過程禁用。命令如下:

USE master

GO

EXEC sp_dropextendedproc 'xp_cmdshell'

GO

但是你只禁用根本沒有用,因爲人家能夠還原回來。命令如下:

USE master

GO

EXEC sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'

GO

最關鍵還是xplog70.dll 這個DLL。路徑:

C:\Program Files\Microsoft SQL Server\MSSQL\Binn\xplog70.dll

把這個DLL刪除或者改名字就可以了。

(切記一定要把SQL server 服務停止,不然你改名字是沒用的。表面上改過了,實際上還是那個名字)

爲保險期間,再試試上面創建賬戶的密碼。果然不能創建!OK

7EB1803D6DCA7DEAA08B69ED29A6192D_B500_90

 

其實win7密碼破解也是同樣的原理。

最後希望對大家有用~不要去做壞事!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章