熱門搜索:技工學(xué)校(907)  電子(873)  招生(678)  簡章(475)  學(xué)校(470)  電腦(373)
您當(dāng)前位置:湖南電子職業(yè)中專學(xué)校文章頻道網(wǎng)絡(luò)工程技術(shù)

運(yùn)用LINQ輕松清除SQL注入式攻擊

時間:2010-07-15 22:38:13    整理:佚名    []
http://www.410014.com
    

微軟的LINQ to SQL技術(shù)為.net開發(fā)人員提供了一種機(jī)會,使其可以清除所開發(fā)的Web應(yīng)用程序中SQL注入式安全漏洞的可能性。

隨著對Web安全破壞的與日俱增,開發(fā)人員越來越深刻地認(rèn)識到需要為其開發(fā)的應(yīng)用程序的安全性承擔(dān)更大的責(zé)任,而且應(yīng)用程序框架的廠商們也將更堅實的安全特性構(gòu)建到其應(yīng)用軟件中去。許多開發(fā)人員已經(jīng)認(rèn)識到構(gòu)建安全應(yīng)用程序和防止破壞性攻擊的 有效的方法就是從一開始就要安全地設(shè)計和實施應(yīng)用程序。不幸的是,開發(fā)團(tuán)隊往往缺乏訓(xùn)練和資源來做出關(guān)于應(yīng)用程序安全的科學(xué)設(shè)計決策。

在開發(fā)人員承受越來越多的安全責(zé)任之時,許多開發(fā)人員了解到的第一個Web應(yīng)用安全漏洞,是一個被稱為“SQL注入”的極危險的命令注入形式。命令注入的原始的形式本是指這樣一種漏洞:攻擊者通過提供一個正常使用者意料之外的輸入,改變你的Web應(yīng)用程序的運(yùn)行方式,從而允許攻擊者運(yùn)行服務(wù)器上的非授權(quán)的命令。無疑,SQL注入式攻擊是很常見的、被廣泛使用的攻擊形式。幸運(yùn)的是,一旦我們理解了這個問題,就可以很容易地防止SQL注入式攻擊。更妙的是,現(xiàn)在微軟的數(shù)據(jù)訪問技術(shù)向.net開發(fā)人員提供了徹底地清除SQL注入漏洞的機(jī)會,當(dāng)然前提是能夠正確使用。這種技術(shù)稱為“語言級集成查詢”(Language Integrated Query (LINQ)),并隨Visual Studio "Orcas" 和 .NET Framework 3.5一起發(fā)布。本文將討論如何通過LINQ強(qiáng)化Web應(yīng)用程序的數(shù)據(jù)訪問代碼,從而解決通過SQL注入進(jìn)行攻擊的問題。

概述

SQL注入是一種Web應(yīng)用程序的安全漏洞,通過它攻擊者可以將惡意數(shù)據(jù)提交給應(yīng)用程序,欺騙應(yīng)用程序在服務(wù)器上執(zhí)行惡意的SQL命令。理論上講,這種攻擊是容易預(yù)防的,不過由于其允許攻擊者直接運(yùn)行針對用戶關(guān)鍵數(shù)據(jù)的數(shù)據(jù)庫命令,從而成為一種常見的、危害性大的攻擊形式。在非常極端的情況下,攻擊者不但能夠自由地控制用戶的數(shù)據(jù),還可以刪除數(shù)據(jù)表和數(shù)據(jù)庫,甚至控制整個數(shù)據(jù)庫服務(wù)器。

如果這種攻擊容易預(yù)防,那么為什么還如此危險呢?首先,由于眾所周知的經(jīng)濟(jì)上的原因,你的應(yīng)用數(shù)據(jù)庫是非常誘人的,可以引起攻擊者的極大注意。如果SQL注入漏洞在Web應(yīng)用程序中可能存在著,那么對于一個攻擊者來說是很容易檢測到的,然后就可以利用它。很顯然,即使SQL注入錯誤并不是開發(fā)人員 經(jīng)常犯的錯誤,它們也很容易被發(fā)現(xiàn)和利用。

檢測SQL注入漏洞的一個簡單方法是在一次輸入中插入一個元字符(meta-character),一個應(yīng)用程序會用這個字符生成一個數(shù)據(jù)庫訪問語句。例如,在任何包含一個搜索輸入欄的Web站點上,一個攻擊者可以輸入一個數(shù)據(jù)庫元字符,例如一個核對符號(),然后單擊“搜索”按鈕提交輸入。如果應(yīng)用程序返回一個數(shù)據(jù)庫錯誤消息,攻擊者不但會知道他已經(jīng)發(fā)現(xiàn)了一個應(yīng)用程序的數(shù)據(jù)庫驅(qū)動部分,而且他還能注入更加有意義的命令,讓你的服務(wù)器執(zhí)行它們。應(yīng)用程序安全研究員Michael Sutton近來強(qiáng)調(diào),發(fā)現(xiàn)那些易于受到SQL攻擊的站點是很容易的。他說,使用Google搜索API這種方法只需幾分鐘就可以確定大量的潛在的易受攻擊的站點。

對SQL注入的剖析

這里我們給出一個SQL注入的例子來說明兩個問題,一是SQL注入這種錯誤是很容易犯的,二是只要進(jìn)行嚴(yán)格的程序設(shè)計,這種錯誤是很容易預(yù)防的。

這個示例用的Web應(yīng)用程序包含一個名為SQLInjection.aspx簡單的客戶搜索頁面,這個頁面易于受到SQL注入攻擊。此頁面包含一個CompanyName的輸入服務(wù)器控件,還有一個數(shù)據(jù)表格控件,用于顯示從微軟的示例數(shù)據(jù)庫Northwind的搜索結(jié)果(這個數(shù)據(jù)庫可從SQL Server 2005中找到)。在搜索期間執(zhí)行的這個查詢包含一個應(yīng)用程序設(shè)計中很普通的錯誤:它動態(tài)地從用戶提供的輸入中生成查詢。這是Web應(yīng)用程序數(shù)據(jù)訪問中的一個主要的錯誤,因為這樣實際上潛在地相信了用戶輸入,并直接將其發(fā)送給你的服務(wù)器。在從“搜索”的單擊事件啟動時,這個查詢看起來是這個樣子:

protected void btnSearch_Click(object sender, EventArgs e)
   {      String cmd = "SELECT [CustomerID], [CompanyName], [ContactName]
         FROM [Customers] WHERE CompanyName ='" + txtCompanyName.Text
         + "'";
         SqlDataSource1.SelectCommand = cmd;
         GridView1.Visible = true;
   }

想在此處做廣告,請聯(lián)系QQ:879330360
百度中找“運(yùn)用LINQ輕松清除SQL注入式攻擊”的內(nèi)容
GOOGLE中找“運(yùn)用LINQ輕松清除SQL注入式攻擊”的內(nèi)容
關(guān)鍵詞:運(yùn)用LINQ輕松清除SQL注入式攻擊 相關(guān)文章
相關(guān)推薦文章
熱門文章
新文章
想在此處做廣告,請聯(lián)系QQ:879330360
家電維修班,手機(jī)維修班,電腦維修班,電工班,焊工班,液晶電視維修班,電動工具維修班、電動車摩托車維修班、網(wǎng)絡(luò)營銷培訓(xùn)、網(wǎng)站設(shè)計培訓(xùn)、淘寶培訓(xùn)---全國招生 家電維修班,手機(jī)維修班,電腦維修班,電工班,焊工班,液晶電視維修班,電動工具維修班、電動車摩托車維修班、網(wǎng)絡(luò)營銷培訓(xùn)、網(wǎng)站設(shè)計培訓(xùn)、淘寶培訓(xùn)---全國招生 主站蜘蛛池模板: 女子初尝黑人巨嗷嗷叫 | 打卡中国各地奋斗第一线 | 十次啦中文网 | 99精品国产电影 | 国产精品VIDEOSSEX久久发布 | 嗯啊不要老师 | 国产一卡在线观看完整版 | 亚洲男人天堂2018av | 亚洲免费黄色 | 乱爱性全过程免费视频 | 精品国产一区二区三区久久影院 | 久久伊人精品青青草原2021 | 伊伊人成亚洲综合人网 | 久久99国产精品无码AV | 肉肉描写很细致的黄文 | 国产看午夜精品理论片 | 免费国产久久啪在线 | 亚洲2017久无码 | 免费在线观看国产 | 欧美亚洲视频在线二区 | 久久re视频这里精品免费1 | 四虎视频最新视频在线观看 | 快播在线电影网站 | 美女诱惑性感揉胸 | 浓毛BWBWBWBWBW日本 | 国产精品久久久久久久人人看 | 女性BBWBBWBBWBBW | 国产亚洲精品线视频在线 | 果冻传媒色AV国产播放 | 国产精品久久久久秋霞影视 | 亚洲免费视频在线观看 | 国内精品伊人久久久久 | 99久久婷婷国产麻豆精品电影 | 牛牛免费视频 | 幻女FREE性俄罗斯学生 | 久久精品手机观看 | 国产啪精品视频网免费 | 国产浮力草草影院CCYY | 久久免费特黄毛片 | 91桃色污无限免费看 | 中文字幕伊人香蕉在线 |