国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

防范SQL指令植入式攻擊
2008-04-24   

什么是SQL 指令植入式攻擊?

在設計或者維護Web 網站時,你也許擔心它們會受到某些卑鄙用戶的惡意攻擊。的確,如今的 Web 網站開發者們針對其站點所在操作系統平臺或Web 服務器的安全性而展開的討論實在太多了。不錯,IIS 服務器的安全漏洞可能招致惡意攻擊;但你的安全檢查清單不應該僅僅有 IIS 安全性這一條。有些代碼,它們通常是專門為數據驅動(data-driven) 的 Web 網站而設計的,實際上往往同其它 IIS 漏洞一樣存在嚴重的安全隱患。這些潛伏于代碼中的安全隱患就有可能被稱為“SQL 指令植入式攻擊” (SQL injection) 的手段所利用而導致服務器受到攻擊。

SQL 指令植入式攻擊技術使得攻擊者能夠利用 Web 應用程序中某些疏于防范的輸入機會動態生成特殊的 SQL 指令語句。舉一個常見的例子:

某Web 網站采用表單來收集訪問者的用戶名和密碼以確認他有足夠權限訪問某些保密信息,然后該表單被發送到 Web 服務器進行處理。接下來,服務器端的ASP 腳本根據表單提供的信息生成 SQL 指令語句提交到 SQL 服務器,并通過分析SQL 服務器的返回結果來判斷該用戶名/密碼組合是否有效。

為了實現這樣的功能,Web 程序員可能會設計兩個頁面:一個 HTML 頁面 (Login.htm) 用于登錄,另一個ASP 頁面 (ExecLogin.asp) 用于驗證用戶權限(即向數據庫查詢用戶名/密碼組合是否存在)。具體代碼可能象這樣:

Login.htm (HTML 頁面)

代碼:<form action="ExecLogin.asp" method="post"> Username: <input type="text" name="txtUsername"><br> Password: <input type="password" name="txtPassword"><br> <input type="submit"> </form>

ExecLogin.asp (ASP 頁面)  代碼:<% Dim p_strUsername, p_strPassword, objRS, strSQL p_strUsername = Request.Form("txtUsername") p_strPassword = Request.Form("txtPassword") strSQL = "SELECT * FROM tblUsers " & _ "WHERE Username=" & p_strUsername & _ " and Password=" & p_strPassword & "" Set objRS = Server.CreateObject("ADODB.Recordset") objRS.Open strSQL, "DSN=..." If (objRS.EOF) Then Response.Write "Invalid login." Else Response.Write "You are logged in as " & objRS("Username") End If Set objRS = Nothing %>

乍一看,ExecLogin.asp 的代碼似乎沒有任何安全漏洞,因為用戶如果不給出有效的用戶名/密碼組合就無法登錄。然而,這段代碼偏偏不安全,而且它正是SQL 指令植入式攻擊的理想目標。具體而言,設計者把用戶的輸入直接用于構建SQL 指令,從而使攻擊者能夠自行決定即將被執行的 SQL 指令。例如:攻擊者可能會在表單的用戶名或密碼欄中輸入包含“ or ”和“=” 等特殊字符。于是,提交給數據庫的 SQL 指令就可能是:  代碼:SELECT * FROM tblUsers WHERE Username= or = and Password = or =

這樣,SQL 服務器將返回 tblUsers 表格中的所有記錄,而 ASP 腳本將會因此而誤認為攻擊者的輸入符合 tblUsers 表格中的第一條記錄,從而允許攻擊者以該用戶的名義登入網站。

SQL 指令植入式攻擊還有另一種形式,它發生在 ASP 服務器根據 querystring 參數動態生成網頁時。這里有一個例子,此 ASP 頁面從 URL 中提取出 querystring 參數中的 ID 值,然后根據 ID 值動態生成后繼頁面:  代碼:<% Dim p_lngID, objRS, strSQL p_lngID = Request("ID") strSQL = "SELECT * FROM tblArticles WHERE ID=" & p_lngID Set objRS = Server.CreateObject("ADODB.Recordset") objRS.Open strSQL, "DSN=..." If (Not objRS.EOF) Then Response.Write objRS("ArticleContent") Set objRS = Nothing %>

在一般情況下,此 ASP 腳本能夠顯示具有特定 ID 值的文章的內容,而 ID 值是由 URL 中的 querystring 參數指定的。例如:當URL為http://www.example.com/Article.asp?ID=1055 時,ASP 就會根據 ID 為 1055 的文章提供的內容生成頁面。

如同前述登錄頁面的例子一樣,此段代碼也向SQL 指令植入式攻擊敞開了大門。某些惡意用戶可能會把 querystring 中的文章 ID 值偷換為“0 or 1=1”等內容(也就是說,把 URL 換成http://www.example.com/Article.asp?ID=0 or 1=1) 從而誘使 ASP 腳本生成不安全的 SQL 指令如:  代碼:SELECT * FROM tblArticles WHERE ID=0 or 1=1

于是,數據庫將會返回所有文章的內容。

當然了,本例服務器所受的攻擊不一定會引起什么嚴重后果??墒?,攻擊者卻可能變本加厲,比如用同樣的手段發送 DELETE 等 SQL 指令。這只需要簡單地修改前述 URL 中的 querystring 參數就可以了!例如:任何人都可以通過 http://www.example.com/Article.asp?ID=1055; DELETE FROM tblArticles ” 之類的 URL 來訪問 Web 網站。

SQL 指令植入式攻擊的危害

SQL 指令植入式攻擊可能引起的危害取決于該網站的軟件環境和配置。當 Web 服務器以操作員(dbo)的身份訪問數據庫時,利用SQL 指令植入式攻擊就可能刪除所有表格、創建新表格,等等。當服務器以超級用戶 (sa) 的身份訪問數據庫時,利用SQL 指令植入式攻擊就可能控制整個 SQL 服務器;在某些配置下攻擊者甚至可以自行創建用戶帳號以完全操縱數據庫所在的 Windows 服務器。

杜絕SQL 指令植入式攻擊

杜絕SQL 指令植入式攻擊的第一步就是采用各種安全手段監控來自 ASP request 對象 (Request 、 Request.QueryString 、 Request.Form 、 Request.Cookies 和 Request.ServerVariables) 的用戶輸入,以確保 SQL 指令的可靠性。具體的安全手段根據你的 DBMS 而異,下面給出的都是基于 MS SQL Server的例子。

在前述登錄頁面的例子中,腳本期望得到的兩個輸入變量 (txtUserName 和 txtPassword)均為字符串類型。無論用戶在哪個參數中插入單引號,他都可能讓數據庫執行單引號中的 SQL 指令。為了杜絕此類SQL 指令植入式攻擊,我們可以借助 Replace 函數剔除單引號,比如:

代碼:p_strUsername = Replace(Request.Form("txtUsername"), "", "") p_strPassword = Replace(Request.Form("txtPassword"), "", "")

在第二個例子中,腳本期望的輸入變量是長整型變量 (ID) 。用戶可以通過在 ID 參數中插入特殊字符來運行不安全的 SQL 指令。為了為了杜絕此類SQL 指令植入式攻擊,我們只需要借助 CLng 函數限制 ID 值為長整型變量,比如:  代碼:p_lngID = CLng(Request("ID"))

當用戶試圖在 ID 中包含特殊字符時,CLng 就會產生一個錯誤。

為了進一步減少SQL 指令植入式攻擊的危脅,請務必清除客戶端錯誤信息文本中的所有技術資料。某些錯誤信息往往泄露了技術細節,從而讓攻擊者可以看出服務器的安全漏洞所在。這里指的錯誤信息不但包括應用程序生成的消息框,還包括來自 IIS 的出錯提示。為此,你可以禁止由 IIS 發送的詳細錯誤信息,而改用自定義的出錯頁面。(關于創建自定義的出錯頁面的更多信息,請務必參閱 《Creating Custom ASP Error Pages》。)

最后,為了減輕SQL 指令植入式攻擊的危害,請限制 Web 應用程序所用的數據庫訪問帳號權限。一般來說,應用程序沒有必要以 dbo 或者 sa 的身份訪問數據庫。記住,給它的權限越少,你的網站越安全!你還可以考慮分別給每個需要訪問數據庫的對象分配只擁有必需權限的帳號,以分散安全漏洞。例如:同是前端用戶界面,當用于公共場所時就比用于具有本地內容管理機制的平臺時更加需要嚴格限制數據庫訪問權限。

熱詞搜索:

上一篇:從IIS轉到SQL數據庫安全
下一篇:數據庫安全:當SQL Server數據庫崩潰時如何恢復

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
欧美日韩在线播放三区四区| 亚洲免费在线精品一区| 亚洲国产一区二区三区a毛片| 久久大综合网| 亚洲人精品午夜| 久久黄金**| 亚洲人成网站777色婷婷| 欧美日韩国产精品专区| 午夜精品久久久久久久99樱桃| 久久久久国产成人精品亚洲午夜| 国产一区二区三区观看| 欧美3dxxxxhd| 亚洲午夜久久久久久尤物| 国产精品综合网站| 欧美日本韩国一区| 狂野欧美性猛交xxxx巴西| 亚洲婷婷综合久久一本伊一区| 亚洲第一精品影视| 国户精品久久久久久久久久久不卡| 欧美电影免费观看| 欧美一级网站| 久久国产精品久久w女人spa| 亚洲免费在线观看| 亚洲网站视频福利| 在线视频你懂得一区二区三区| 又紧又大又爽精品一区二区| 国产麻豆精品视频| 国产精品视频大全| 国产亚洲欧洲| 亚洲国产精品成人一区二区| 影音先锋久久资源网| 亚洲国产精品ⅴa在线观看| 黄色成人在线网站| 激情成人综合网| 在线免费观看一区二区三区| 亚洲激情欧美| 欧美一区二区三区男人的天堂| 欧美在线观看一区二区| 久久免费国产| 欧美三级特黄| 一区在线视频观看| 一区二区三区高清视频在线观看| 亚洲伊人网站| 欧美日韩国产美女| 国产主播精品| 亚洲尤物影院| 欧美国产精品v| 国产欧美高清| 亚洲激情成人| 久久久久久一区| 欧美日韩午夜视频在线观看| 国产无一区二区| 一本色道88久久加勒比精品| 午夜精品一区二区三区在线视 | 久久在线免费观看| 欧美剧在线观看| 国产女主播在线一区二区| 亚洲精品国产系列| 牛人盗摄一区二区三区视频| 国产日产欧产精品推荐色| 一区二区成人精品| 欧美日韩一区二区在线播放| 精品二区视频| 美玉足脚交一区二区三区图片| 激情久久久久久久| 久久久www| 黄色精品网站| 久久综合色一综合色88| 亚洲国产综合视频在线观看| 欧美ed2k| 亚洲一区二区久久| 国产精品视频免费在线观看| 亚洲一区二区三区在线视频| 国产精品试看| 久久人人爽人人爽| 亚洲国产精品久久久久秋霞影院| 欧美韩日视频| 欧美一区二区日韩一区二区| 激情av一区| 欧美日韩亚洲另类| 欧美亚洲一级| 国产麻豆综合| 欧美刺激性大交免费视频 | 99这里只有精品| 国产乱码精品1区2区3区| 久久综合一区| 久久精品一二三| 性视频1819p久久| 亚洲电影视频在线| 国产日韩欧美中文在线播放| 欧美高清不卡| 免费观看日韩av| 久久成人资源| 欧美伊久线香蕉线新在线| 中文一区二区在线观看| 亚洲欧美日韩一区二区三区在线观看 | 亚洲国产婷婷综合在线精品| 国产精品综合| 欧美日本在线观看| 久久伊伊香蕉| 久久亚洲综合色| 久久影院午夜论| 久久aⅴ乱码一区二区三区| 亚洲男人av电影| 欧美一区二区三区在线看| 亚洲欧美激情一区| 性高湖久久久久久久久| 午夜精品一区二区三区在线视| 午夜在线播放视频欧美| 久久精品国亚洲| 老司机午夜精品| 欧美日韩精品一区二区天天拍小说 | 欧美日韩在线看| 欧美日一区二区在线观看 | 国产精品jvid在线观看蜜臀 | 99精品国产在热久久下载| 亚洲精品国产精品国产自| 日韩视频在线观看免费| 欧美在线视频不卡| 久久精品国产第一区二区三区最新章节 | 国产欧美精品一区二区色综合 | 亚洲国产精品久久久| 一本久道久久久| 狂野欧美性猛交xxxx巴西| 欧美日韩伦理在线| 亚洲高清在线观看一区| 香蕉久久精品日日躁夜夜躁| 欧美激情一区二区三区在线视频观看 | 欧美日韩福利| 欧美三区在线| 一区二区三区在线视频观看| 亚洲午夜精品一区二区| 亚洲欧美在线x视频| 欧美超级免费视 在线| 欧美精品在线一区| 国产综合久久久久久鬼色| 亚洲日本在线视频观看| 欧美在线日韩在线| 老色鬼久久亚洲一区二区| 国产精品a级| 亚洲福利在线观看| 午夜亚洲福利| 久久精品久久99精品久久| 欧美激情第一页xxx| 伊人影院久久| 久久亚洲私人国产精品va| 欧美久久99| 国内精品久久久久久久影视麻豆| 一本色道久久综合一区| 欧美激情第五页| 国产精品午夜在线观看| 在线亚洲一区| 国产精品永久| 亚洲香蕉伊综合在人在线视看| 欧美极品影院| 亚洲人成绝费网站色www| 欧美大片专区| 午夜一级在线看亚洲| 亚洲伦理自拍| 国产亚洲精品bv在线观看| 久久免费精品视频| 亚洲日韩欧美一区二区在线| 欧美视频免费在线观看| 欧美一区二区三区播放老司机| 狠狠色综合网站久久久久久久| 久久久久久久久久久成人| 亚洲精品你懂的| 国产精品久久久999| 欧美影院成人| 亚洲欧洲在线看| 欧美色欧美亚洲高清在线视频| 亚洲专区一区二区三区| 极品尤物久久久av免费看| 欧美黄色大片网站| 日韩午夜在线| 伊人久久综合| 欧美性大战久久久久久久| 久久久噜噜噜久久人人看| 亚洲精品国精品久久99热一| 国产日韩精品一区二区三区| 欧美日韩国产综合网| 久久―日本道色综合久久| 99视频一区二区三区| 欧美午夜精品理论片a级大开眼界 欧美午夜精品理论片a级按摩 | 欧美成人黄色小视频| 在线视频精品一| 亚洲毛片在线观看.| 国产亚洲毛片在线| 国产精品嫩草影院一区二区| 国产精品视频不卡| 国产一区二区三区四区| 国产一区二区在线观看免费播放 | 久久久久久久久一区二区| 国产精品99久久久久久久久 | 欧美激情第二页| 久久一区欧美| 看欧美日韩国产| 欧美在线视频日韩| 久久米奇亚洲| 欧美另类人妖|