從去年下半年開始很多網站被損害他們在用於生成動態網頁的SQL數據庫中存儲的文本中被注入了惡意的script標簽這樣的攻擊在年第一季度開始加速傳播並且持續影響有漏洞的Web程序
這些Web應用程序有這樣一些共同點
* 使用經典ASP代碼的程序
* 使用SQL Server數據庫的程序
應用程序代碼根據URI請求字符動態地生成SQL查詢這體現了一種新的SQL注入(SQL injection)的途徑在過去SQL注入攻擊的目標是具有如下特點的特殊Web應用程序攻擊者知道或者可以探測出後台數據庫的漏洞或者結構這樣的攻擊(指本文討論的攻擊 譯者注)不同因為它是抽象的對於攻擊來說任何存在於使用URI請求字符串動態創建SQL查詢的ASP頁面都可能存在
這樣的攻擊並非利用了WindowIISSQL Server或者其他底層代碼的漏洞而是利用了在這些平台上運行的由程序員自行編寫的代碼中的漏洞Microsoft已經對這些攻擊進行了徹底的調查並且發現他們和以往的Microsoft產品的補丁和day漏洞無關
正如上面所指出的這些攻擊在近年來呈現一種增長的趨勢這至少與兩個因素有關
第一有暴力性的惡意攻擊工具自動化進行此類操作該工具使用搜索引擎來尋找具有SQL注入漏洞的站點
第二一個或多個惡意僵屍正在進行SQL注入攻擊用以廣泛傳播僵屍
一旦某台服務器被該漏洞所攻擊它將被插入指向某js文件的惡意script標簽雖然這些文件的內容不同但是他們都嘗試利用已經被修復的Micfosoft產品的漏洞或者第三方ActiveX控件的漏洞由於這些腳本被單獨存儲這些腳本就很容易的被更新以利用更新的客戶端漏洞也更容易按照不同浏覽器來定制
給信息技術/數據庫管理員的建議
有很多事情是信息技術管理員或者數據庫管理員可以采取的以減少他們的風險和響應他們的代碼和平台中可能出現的事件
* 檢查IIS日志和數據表來尋找未知風險的標志
由於該漏洞利用方式通過URI請求字符串作用管理員們可以檢查IIS日志來查找嘗試利用該漏洞的非正常請求
如果IIS日志表明服務器可能已經被侵害那麼下一步要采取的行動就是審計相應的Web應用程序所使用的數據庫中的表並且查找附加在文本內容中的script標簽
提示IIS服務器不應當在生產環境中關閉日志存儲和適當的管理對於IIS日志都是重要的缺少IIS日志對於響應安全事件是非常困難的
* 如果運行了使用後端數據庫的第三方代碼則考慮不受SQL注入影響的獨立軟件開發商(ISVIndependent Software Vendors)
在使用第三方ASP Web程序的情況下管理員應當聯系應用程序廠商來確定他們的產品不受SQL注入攻擊的影響
* 確認Web應用程序所使用的數據庫帳戶具有最少的權限
管理員應當確保Web應用程序所使用的SQL用戶具有最小的必要權限Web應用程序不應當以諸如sysadmin的服務器管理員權限或者db_owner的數據庫權限鏈接
給Web開發者的建議
有很多優秀的文檔論述在編碼時如何防御SQL注入攻擊由於這些攻擊者leverage有漏洞的Web應用程序代碼所以完全防御他們的唯一方法是解析在代碼中存在的漏洞程序中任何一個使用外部資源(一般指從URI請求字符串)數據來動態生成SQL請求的地方都應當被認為是可疑的當代碼漏洞被識別出來他們應當被小心的修復
[] []
From:http://tw.wingwit.com/Article/program/SQL/201311/16220.html