熱門搜索:技工學校(907)  電子(873)  招生(678)  簡章(475)  學校(470)  電腦(373)
您當前位置:湖南電子職業中專學校文章頻道網絡工程技術

運用LINQ輕松清除SQL注入式攻擊

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

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

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

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

概述

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

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

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

對SQL注入的剖析

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

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

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;
   }

想在此處做廣告,請聯系QQ:879330360
百度中找“運用LINQ輕松清除SQL注入式攻擊”的內容
GOOGLE中找“運用LINQ輕松清除SQL注入式攻擊”的內容
關鍵詞:運用LINQ輕松清除SQL注入式攻擊 相關文章
相關推薦文章
熱門文章
新文章
想在此處做廣告,請聯系QQ:879330360
家電維修班,手機維修班,電腦維修班,電工班,焊工班,液晶電視維修班,電動工具維修班、電動車摩托車維修班、網絡營銷培訓、網站設計培訓、淘寶培訓---全國招生 家電維修班,手機維修班,電腦維修班,電工班,焊工班,液晶電視維修班,電動工具維修班、電動車摩托車維修班、網絡營銷培訓、網站設計培訓、淘寶培訓---全國招生 主站蜘蛛池模板: 果冻传媒完整免费网站在线观看 | 永久免费精品影视网站 | 无码人妻精品一区二区蜜桃色欲 | 无人区日本电影在线观看高清 | 亚洲综合春色另类久久 | 色欲AV人妻精品麻豆AV | 国产精品丰满人妻AV麻豆 | 国产 在线 亚洲 欧美 动漫 | 色婷婷AV99XX | 久色视频网 | 在线观看免费国产成人软件 | 国产学生在线播放精品视频 | 亚洲国产高清福利视频 | 十九岁韩国电影在线观看 | 2022年国产精品久久久久 | 日本亚欧热亚洲乱色视频 | 狠狠色丁香久久婷婷综合_中 | 成人伊人青草久久综合网 | 武侠艳妇屈辱的张开双腿 | a视频免费看 | 国模沟沟一区二区三区 | 湖南张丽大战黑人hd视频 | 亚洲精品不卡视频 | 国产中文在线观看 | 久久全国免费观看视频 | 年轻的的小婊孑2中文字幕 你是淫荡的我的女王 | 打卡中国各地奋斗第一线 | 欧美人与动牲交XXXXBBBB免费 | yy8090理论三级在线看 | 影音先锋av天堂 | 亚洲欧美日韩国产另类电影 | 中文字幕国产在线观看 | 久久午夜伦理 | 一区不卡二区卡 | 国产精品青青青高清在线密亚 | 床上色APP下载免费版 | 精品国产国产精2020久久日 | 久久精品国产色蜜蜜麻豆国语版 | 久久国产精品人妻中文 | 亚洲日韩中文字幕日本有码 | 国产精品1卡二卡三卡四卡乱码 |