国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SQL注入攻擊途徑及策略分析

2011-03-14 06:44高洪濤
網(wǎng)絡安全技術與應用 2011年3期
關鍵詞:黑客服務器設置

高洪濤

中國刑事警察學院 遼寧 110854

0 前言

隨著B/S模式的網(wǎng)絡服務構架的普遍采用,針對該模式編寫的程序越來越多,許多應用程序在編寫過程中缺乏數(shù)據(jù)的合理性分析判斷,導致數(shù)據(jù)查詢代碼無法獲取應得的數(shù)據(jù)信息。此模式通常被看成SQL Injection,即SQL注入。SQL注入過程通過正常的WWW端口訪問,防火墻對SQL注入不會發(fā)出正常報警,加之管理員對IIS的關注度不高,導致入侵現(xiàn)象時常發(fā)生。SQL注入的手法比較靈活,注入過程中會出現(xiàn)很多異常問題,比如通過巧妙構建SQL語句,達到獲取有效數(shù)據(jù)的目的。從我國網(wǎng)站情況看,SQL+Acsecc或者SQL Server的網(wǎng)站數(shù)量已經(jīng)達到70%,PHP+Mysql占20%,其它站點占10%,因此SQL注入問題對網(wǎng)站的影響相當大,需要對SQL注入攻擊途徑及策略進行分析。

1 SQL注入攻擊原理

隨著Web應用的深入,SQL注入攻擊方式發(fā)生了很大的變化,SQL注入攻擊的根源是用戶數(shù)據(jù)和程序執(zhí)行之間存在分界不清,導致攻擊者把程序執(zhí)行當成用戶信息輸入系統(tǒng),系統(tǒng)獲取相關的Web信息后,導致攻擊現(xiàn)象產生。

SQL注入攻擊主要是通過在用戶端精心編寫SQL語句,把此類具有特殊意義的SQL語句注入系統(tǒng)中,系統(tǒng)執(zhí)行SQL語句后會獲取用戶敏感信息,比如用戶名、口令、驗證信息等。主機控制權限獲取后,可通過網(wǎng)絡通信模式獲取主機信息,對主機進行有效攻擊。SQL注入攻擊過程中所采取的語句都是合法語句,系統(tǒng)很難對其進行檢測和識別,防火墻在檢測過程中也很難檢測問題語句,使之具有難以捕獲的特點。從理論角度分析基于SQL語句的標準數(shù)據(jù)庫,比如Oracle、 Sybase、DB2、MS SQL Server等,具備應用的廣泛性。

SQL注入攻擊出現(xiàn)泛濫狀況時,開發(fā)人員沒有從根本上認識危害性,編寫網(wǎng)站過程中依然存在很多SQL注入攻擊的漏洞,很多專門針對 SQL注入的軟件也在迅速發(fā)展,比如NBSI。對SQL注入攻擊稍微有所了解的人都可通過軟件對相關網(wǎng)站進行注入攻擊。

2 SQL注入攻擊途徑及策略分析

為防止攻擊者把程序執(zhí)行輸入系統(tǒng),應采取相關策略阻止。下面以ASP+SQL Server網(wǎng)站為例,對SQL注入攻擊從應用服務器(IIS)、數(shù)據(jù)服務器(SQL Server)、代碼等角度進行分析,可在設計網(wǎng)站模式時按照類似方式采取相應策略。

2.1 IIS注入策略分析

SQL注入式攻擊一般情況下與系統(tǒng)硬件和程序開發(fā)語言有著密切的聯(lián)系,可以通過踩點或者探索模式對注入式攻擊進行分析。SQL注入攻擊過程中,主要按照IIS所給出的相關錯誤代碼進行判斷分析,如果IIS設置過程中被設成無論什么狀況下所產生的 ASP錯誤代碼,只給出一個錯誤提示,具體設置過程中可以改成HTTP 500錯誤模式,如此狀況下入侵現(xiàn)象就不會發(fā)生。此方法既簡單又有效,但是程序開發(fā)過程中要求程序員在代碼出錯的情況下,不給出相關錯誤提示信息,這樣會給程序員程序開發(fā)過程中帶來不便。但是從服務器本身功能角度看,按照此模式還是完全可以的,畢竟服務器不是測試代碼的地方。

服務管理員應該在相應的服務器上設置好安全權限,需要在IIS上為每一個網(wǎng)站配置好服務權限。通常情況下靜態(tài)網(wǎng)站主要以“可執(zhí)行和腳本”為權限,動態(tài)網(wǎng)站只要給出“純腳本”權限即可。網(wǎng)站后臺管理權限需要進行重點設置,如果網(wǎng)站后臺管理上傳文件的權限必須設置為“無”,可以有效防止黑客通過后臺上傳文件,防止黑客上傳 ASP木馬程序,只要把權限設置成“無”,即使上傳了ASP木馬程序也無法正常運行。通常情況下,SQL注入漏洞與網(wǎng)絡安全存在一定的關系,如果黑客通過上傳ASP木馬程序,二者實現(xiàn)并行運行處理對整個系統(tǒng)安全造成嚴重影響,二者的同步運行可以導致整個服務器處于癱瘓狀態(tài)。所以系統(tǒng)管理員對 IIS權限管理顯得尤為重要。

2.2 SQL Server的設置策略

利用程序連接數(shù)據(jù)庫的用戶通常涉及到數(shù)據(jù)庫操作,所以服務器角色組使用過程必須高度重視,最好不使用服務器角色組,而是通過數(shù)據(jù)庫用戶角色組完成相關工作。一般情況下,SA角色的權限不能隨便設置,黑客通過SQL注入相關程序后,可以通過xp-cmdshell命令獲取系統(tǒng)最高權限。為解決此問題可以通過設置db-Reader和db-Writer權限,有些用戶是需要備份的,因此使用過程中可以通過新建用戶完成。SQL Server可以通過相關命令對數(shù)據(jù)表進行操作,比如說Select、Update、Delete等可以完成相應工作。開發(fā)人員應該合理分析用戶需求,針對不同的用戶設置不同的權限,保證系統(tǒng)處于穩(wěn)定安全狀態(tài)。

如果系統(tǒng)通過文件連接數(shù)據(jù)庫進行訪問,應通過文件加密策略對文件加密,保證訪問的文件不會通過 SQL注入漏洞。如果文件不采取加密方式傳輸,黑客可以通過工具把文件下載來獲取相關用戶名和密碼,實現(xiàn)對數(shù)據(jù)庫的非法訪問。開發(fā)者在程序編寫過程中針對一些查詢表可以不設置Update、Delete等權限。

系統(tǒng)級設置可以保證系統(tǒng)處于安全狀態(tài),針對防火墻進行設置,把TCP 1433/UDP 1434端口進行對外連接,可以給系統(tǒng)、SQL Server、IIS打上補丁,保證系統(tǒng)處于安全狀態(tài)。系統(tǒng)弱口令也是系統(tǒng)安全得不到保障的重要原因,系統(tǒng)弱口令檢查可防止系統(tǒng)口令不被竊取,如果發(fā)現(xiàn)弱口令現(xiàn)象可以通過修改密碼方式解決。

2.3 功能代碼端設置

功能代碼端可以很好的控制系統(tǒng)安全性。系統(tǒng)編碼人員在系統(tǒng)設計過程中可以把密碼字段進行相關加密操作,主要進行MD5加密。按照此模式操作,一方面可以對用戶信息進行隱私,另一方面可以提高系統(tǒng)的安全性。當黑客通過SQL注入攻擊模式對用戶信息進行獲取時,可以采取用戶名和密碼保護模式提高系統(tǒng)安全特性,黑客采取此模式攻擊會耗去大量的時間和精力,所以攻擊的難度大大增加,最終使得系統(tǒng)安全性得以提高。

用戶信息檢測是系統(tǒng)安全的重要保證,通過程序對信息輸入進行檢測,從而保證SQL攻擊得到有效防御。當前采取的檢測方法主要有兩種,一種是刪除或者修改相關的字符、字符串,另一種是服務器提交處理數(shù)據(jù)信息時進行數(shù)據(jù)檢驗。

從刪除或者修改字符、字符串的角度出發(fā),可對頁面?zhèn)鬟f來的字符串進行參數(shù)傳遞,通過ASP自帶的replace()函數(shù)可以實現(xiàn)相關功能,可以把危險的字符通過相對安全的字符代替,但是此種方法具有一定的局限性,只能對普通黑客產生一定的作用,比如:當用戶輸入字符串“ddroprdropodrop”時,通過 replace()函數(shù)把字符串“drop”執(zhí)行刪除替換操作后,最終剩余的字符正好只有“drop”。

從服務器提交數(shù)據(jù)信息機進行數(shù)據(jù)檢驗角度看,此種方法是一種很好的SQL注入攻擊處理策略,檢驗過程中主要對非法字符進行才處理,如果檢測出非法字符時,服務器對相關操作進行終止,讓SQL注入攻擊失去機會。

3 SQL注入攻擊通用檢驗模型

通過對SQL注入攻擊進行分析,可以在SQL注入攻擊防御、檢測、備案模型的基礎上,提出SQL注入攻擊通用數(shù)據(jù)檢測模型,把相關復雜設置進行處理,消除一些復雜操作,針對效果不明顯的客戶端進行處理,保證設置的合理性、有效性。通過對服務端數(shù)據(jù)信息進行檢測,針對服務端惡意端攻擊信息進行備案,通過對攻擊者IP、攻擊時間、攻擊次數(shù)、最后一次攻擊時間等信息進行處理,針對攻擊者窮舉攻擊的狀況進行算法分析。模型可以按照自由設置攻擊的次數(shù)進行用戶請求策略分析,服務器可以采取截斷處理,最終產生報錯信息。另外模型處理系統(tǒng)安全信息的時候,可以采取.asp文件方式,按照此模式只需要在系統(tǒng)頁面開始位置加入代碼<!--#Include File= “IPcheck.asp”--!>即可,功能設置相對比較方便。SQL注入攻擊通用檢驗模型如圖1所示。

圖1 SQL注入攻擊通用檢驗模型

系統(tǒng)所有代碼都被封裝在文件IPcheck.asp中,編寫語言可以采取VCScript,程序編寫過程中可以附詳細的說明,把連接數(shù)據(jù)庫的文件進行抽象封裝,主要封裝在connManu.asp文件中,具體實現(xiàn)過程中可以通過 connCreate(conn), rstSearchCreate(conn,rs,strSQL), rstChangeCreate (conn,rs, strSQL), rstClose(rs),connClose(conn)建立連接對象完成,通過建立搜索記錄集,系統(tǒng)對安全因素進行檢驗過程中,可以對記錄集進行操作,保證SQL注入攻擊程序能夠得到檢測。建立的記錄集應具有動態(tài)查詢特征,通過關閉連接對象、關閉記錄集對方式對系統(tǒng)安全策略進行檢測。

ClientURL,ParamArray,ParamDinamicArray,i,DealMethod ,Erorr-Retunr,strFilter,AttackLimitNum,ClientIP,sql等是系統(tǒng)執(zhí)行過程中所用到的對象,通過變量分析可以得出系統(tǒng)核心代碼:

<%

—定義要使用到的功能函數(shù)—

Function CheckStr(str),此函數(shù)檢測字符串,tr里面是否含有自己定義的非法字符,是則返回true,代碼略。

End Function

Sub IpCheckIn

<%

可以把攻擊對象的信息進行備案,其主要包括用戶第一次攻擊時間、攻擊的IP、攻擊次數(shù)、最后一次攻擊時間。此類信息主要建立在表IPAttack里面。

4 總結

SQL注入攻擊已經(jīng)成為重要的網(wǎng)絡漏洞,從Web開發(fā)角度看,需要從平臺、數(shù)據(jù)層、技術等角度分析問題的根源。SQL注入攻擊過程中需要采取建立參數(shù)化進程過程、存儲進程進行授權“運行”、最小特權連接、應用程序域組授予許可等策略。系統(tǒng)開發(fā)過程中應保持Web應用程序以最少的特權模式運行,禁止采取管理員模式運行,避免使用sysadmin或db_owner等特權賬號運行。

通過對ASP+SQL Server類型網(wǎng)站進行分析,結合操作實際,本文提出一套完整的解決SQL注入攻擊的策略。通過對實際案例分析研究,可以把SQL注入攻擊策略運用到網(wǎng)絡系統(tǒng)環(huán)境中,為解決網(wǎng)絡環(huán)境 SQL注入攻擊提供了重要依據(jù)。SQL注入攻擊通用檢驗模型對WEB應用數(shù)據(jù)庫安全發(fā)揮重要作用,通過模型分析可以有效控制數(shù)據(jù)庫安全問題。在SQL Server環(huán)境下,可以把所有的代碼都進行函數(shù)抽象,最終以單獨文件形式存放,使用過程中只要對相關參數(shù)進行修改即可,為網(wǎng)絡環(huán)境下系統(tǒng)安全提供了重要保證。

[1]陳小兵.SQL注入攻擊及其防范檢測技術研究[J].計算機工程與應用.2007.

[2]周敬利.一種新的反SQL注入策略的研究與實現(xiàn)[J].計算機科學.2006.

[3]王云.Web項目中的SQL注入問題研究與防范方法[J].計算機工程與設計.2010.

[4]彭賡.基于改進網(wǎng)絡爬蟲技術的SQL注入漏洞檢測[J].計算機應用研究.2010.

猜你喜歡
黑客服務器設置
歡樂英雄
多少個屁能把布克崩起來?
中隊崗位該如何設置
船舶防火結構及設置的缺陷與整改
網(wǎng)絡黑客比核武器更可怕
通信控制服務器(CCS)維護終端的設計與實現(xiàn)
中國服務器市場份額出爐
得形忘意的服務器標準
計算機網(wǎng)絡安全服務器入侵與防御
中俄臨床醫(yī)學專業(yè)課程設置的比較與思考