MSSQL資料庫中發現D99 tmp表的處理方法

2021-05-22 11:29:07 字數 2769 閱讀 9701

相信很多asp+mssql的**都有被人注入過的經歷,資料庫表中多了一些表,類似以下的表d99_tmp,d99_cmd,kill_kk。

d99_tmp(subdirectory,depth,file三個字段,裡面的資料都是**檔案和目錄)

mssql資料庫存在幾個危險的擴充套件儲存過程,預設public組可執行許可權,sql注入者可利用此讀取檔案目錄及使用者組,並可通過先寫入資料庫然後匯出為檔案的方法往伺服器寫入危險指令碼進一步提權,或直接使用某些儲存過程執行命令,如xp_cmdshell。

xp_cmdshell可以讓系統管理員以作業系統命令列直譯器的方式執行給定的命令字串,並以文字行方式返回任何輸出,是乙個功能非常強大的擴充套件儲存過程。一般的黑客攻擊sql server時,首先採用的方法是執行master擴充套件儲存過程xp_cmdshell命令來破壞資料庫,為了資料庫安全起見,最好禁止使用xp_cmdshell.

一般情況下,xp_cmdshell對管理員來說也是不必要的,xp_cmdshell的消除不會對server造成任何影響。

可以將xp_cmdshell消除:

use master

exec sp_dropextendedproc n 'xp_cmdshell'

go 如果需要的話,可以把xp_cmdshell恢復回來:

use master

exec sp_addextendedproc n 'xp_cmdshell',n 'xplog70.dll'

go可以消除的儲存過程如下:

sp_makewebtask

xp_cmdshell

xp_dirtree

xp_fileexist

xp_terminate_process

sp_oamethod

sp_oacreate

xp_regaddmultistring

xp_regdeletekey

xp_regdeletevalue

xp_regenumkeys

xp_regenumvalues

sp_add_job

sp_addtask

xp_regread

xp_regwrite

xp_readwebtask

xp_makewebtask

xp_regremovemultistring

對應措施:刪除上述儲存過程或可執行檔案或修改儲存過程相應使用者組可執行許可權,刪除上述儲存過程對應指令碼為:

drop procedure sp_makewebtask

exec master..sp_dropextendedproc xp_cmdshell

exec master..sp_dropextendedproc xp_dirtree

exec master..sp_dropextendedproc xp_fileexist

exec master..sp_dropextendedproc xp_terminate_process

exec master..sp_dropextendedproc sp_oamethod

exec master..sp_dropextendedproc sp_oacreate

exec master..sp_dropextendedproc xp_regaddmultistring

exec master..sp_dropextendedproc xp_regdeletekey

exec master..sp_dropextendedproc xp_regdeletevalue

exec master..sp_dropextendedproc xp_regenumkeys

exec master..sp_dropextendedproc xp_regenumvalues

exec master..sp_dropextendedproc sp_add_job

exec master..sp_dropextendedproc sp_addtask

exec master..sp_dropextendedproc xp_regread

exec master..sp_dropextendedproc xp_regwrite

exec master..sp_dropextendedproc xp_readwebtask

exec master..sp_dropextendedproc xp_makewebtask

exec master..sp_dropextendedproc xp_regremovemultistring

資料庫中如發現d99_tmp或者d99_cmd資料表,請先通知**管理員修補sql注入漏洞,該錶為某sql注入工具預設自增表(啊d),內容為c盤目錄下全部檔案及資料夾名稱,伺服器網管應檢查xp_dirtree擴充套件儲存過程許可權,設定為public組不可讀即可防止惡意訪客讀取本地檔案資訊,或刪除xp_dirtree儲存過程或刪除xpstar.dll檔案,該檔案位於sql安裝目錄下。對應指令碼為:

exec sp_addextendedproc xp_dirtree ,@dllname ='xpstar.dll'

exec sp_addextendedproc xp_fileexist ,@dllname ='xpstar.dll'

除了禁止上面的儲存過程執行外,對**引數都要嚴格過濾,最好是加個通用的防注入的**到資料庫連線裡,實行全站防注入。

除此之外,要是用了網頁編輯器之類的如ewebeditor還要對上傳漏洞進行修改修補。

最後一定要經常對**進行備份,萬一出現問題可以將損失降到最低。

發現資料庫中有D99 Tmp表的應對方法

using system using system.collections.generic using system.componentmodel using system.data using system.drawing using system.text using system.window...

MS SQL 資料庫狀態為SUSPECT的處理方法

當sql server資料庫狀態為質疑 suspect 狀態時,我們可以用以下方法來處理 1.修改資料庫為緊急模式 alter database dbname set emergency 2.檢查資料庫的完整性 dbcc checkdb dbname 3.檢查沒有錯誤則恢復資料庫為正常模式 alte...

資料庫知識部分討論中發現的知識空缺

一 所有的候選碼都不能有冗餘,即乙個候選碼不能含有多餘的屬性 二 五種基本關係代數運算 1 並2 差 3 廣義笛卡爾積 4 投影 5 選擇 三 擴充套件的關係代數運算 1 交2 連線 連線 等值連線 自然連線 3 除4 廣義投影 允許在投影列表中使用算術運算 5 外連線 左外連線 右外連線 全外連線...