亚洲AV无码乱码在线观看不卡|最新大伊香蕉精品视频在线|亚洲不卡av一区二区|国产美女无遮挡免费

登錄論壇 | 注冊會員 設(shè)為首頁 | 收藏本站
當(dāng)前位置 : 首頁>軟件學(xué)院>程序開發(fā)>ASP教程>正文
 
Web開發(fā)中常見的安全缺陷及解決辦法

http://www.yibo1263.com 2008-6-29 20:56:21  來源:本站  編輯:張賀兵
 


  ■ 解決方案

  域驗證器是一種讓ASP.NET開發(fā)者對域的值實施限制的機(jī)制,例如,限制用戶輸入的域值必須匹配特定的表達(dá)式。

  要防止上述攻擊行為得逞,第一種辦法是禁止引號之類的特殊字符輸入,第二種辦法更嚴(yán)格,即限定輸入域的內(nèi)容必須屬于某個合法字符的集合,例如“[a-zA-Z0-9]*”。   

  2.2 篡改參數(shù)之二

  ◎ 避免驗證操作的漏洞

  然而,僅僅為每個輸入域引入驗證器還不能防范所有通過修改參數(shù)實施的攻擊。在執(zhí)行數(shù)值范圍檢查之時,還要指定正確的數(shù)據(jù)類型。

  也就是說,在使用ASP.NET的范圍檢查控件時,應(yīng)當(dāng)根據(jù)輸入域要求的數(shù)據(jù)類型指定適當(dāng)?shù)腡ype屬性,因為Type的默認(rèn)值是String。

  

  

  ■ 風(fēng)險分析

  由于沒有指定Type屬性值,上面的代碼將假定輸入值的類型是String,因此RangeValidator驗證器只能確保字符串由0-9之間的字符開始,“0abcd”也會被認(rèn)可。

  ■ 解決方案

  要確保輸入值確實是整數(shù),正確的辦法是將Type屬性指定為Integer:

  

  

   MaximumValue="9" Type="Integer"

  2.3 信息泄漏

  ◎ 讓隱藏域更加安全

  在ASP.NET應(yīng)用中,幾乎所有HTML頁面的__VIEWSTATE隱藏域中都可以找到有關(guān)應(yīng)用的信息。由于_VIEWSTATE是BASE 64編碼的,所以常常被忽略,但黑客可以方便地解碼BASE 64數(shù)據(jù),用不著花什么力氣就可以得到__VIEWSTATE提供的詳細(xì)資料。

  ■ 風(fēng)險分析

  默認(rèn)情況下,__VIEWSTATE數(shù)據(jù)將包含:

 、 來自頁面控件的動態(tài)數(shù)據(jù)。

 、 開發(fā)者在ViewState中顯式保存的數(shù)據(jù)。

 、 上述數(shù)據(jù)的密碼簽字。

  ■ 解決方案

  設(shè)置EnableViewStatMAC="true",啟用__VIEWSTATE數(shù)據(jù)加密功能。然后,將machineKey驗證類型設(shè)置成3DES,要求ASP.NET用Triple DES對稱加密算法加密ViewState數(shù)據(jù)。

  2.4 SQL注入式攻擊

  ◎ 使用SQL參數(shù)API

  正如前文“篡改參數(shù)”部分描述的,攻擊者可以在輸入域中插入特殊字符,改變SQL查詢的本意,欺騙數(shù)據(jù)庫服務(wù)器執(zhí)行惡意的查詢。

  ■ 風(fēng)險分析

  惡意查詢有可能獲取后端數(shù)據(jù)庫保存的任何信息,例如客戶信用卡號碼的清單。

  ■ 解決方案

  除了前面介紹的辦法——用程序代碼確保輸入內(nèi)容只包含有效字符,另一種更加健壯的辦法是使用SQL參數(shù)API(例如ADO.NET提供的API),讓編程環(huán)境的底層API(而不是程序員)來構(gòu)造查詢。

  使用這些API時,開發(fā)者或者提供一個查詢模板,或者提供一個存儲過程,然后指定一系列的參數(shù)值,由底層API將參數(shù)值嵌入到查詢模板,然后將構(gòu)造出來的查詢提交給服務(wù)器查詢。這種辦法的好處是確保參數(shù)能夠正確地嵌入,例如,系統(tǒng)將對引號進(jìn)行轉(zhuǎn)義處理,從根本上杜絕SQL注入式攻擊的發(fā)生。同時,在表單中引號仍是一個允許輸入的有效字符,這也是使用底層API的一個優(yōu)點。

  按照這種思路修改前文“篡改參數(shù)”部分的例子,結(jié)果如下:

  SqlDataAdapter my_query = new SqlDataAdapter("SELECT * FROM accounts

   WHERE acc_user= @user AND acc_password=@pass", the_connection);

  SqlParameter userParam = my_query.Select_Command.Parameters.Add(

   "@user",SqlDb.VarChar,20);

  userParam.Value=user;

  SqlParameter passwordParam = my_query.Select_Command.Parameters.Add(

   "@",SqlDb.VarChar,20);

  passwordParam.Value=password;

  2.5 跨站腳本執(zhí)行   

  ◎ 對外發(fā)的數(shù)據(jù)進(jìn)行編碼

  跨站腳本執(zhí)行(Cross-site scripting)是指將惡意的用戶輸入嵌入到應(yīng)答(HTML)頁面。例如,下面的ASP.NET頁面雖然簡單,卻包含著一個重大的安全缺陷:

    <%@ Page Language="vb" %>

  

   標(biāo)簽文字

  


  



   請在此處輸入反饋信息


  


  

   Text="提交!" OnClick="do_feedback">

  


  


  

  ■ 風(fēng)險分析

  攻擊者可以用JavaScript代碼構(gòu)造一個惡意的查詢,點擊鏈接時JavaScript就會運行。舉例來說,腳本可以通過下面的用戶輸入來嵌入:

  

  ■ 解決方案

  在一個雙層的安全體系中,對HTML頁面中出現(xiàn)的外發(fā)用戶數(shù)據(jù)執(zhí)行輸入驗證和HTML編碼,確保瀏覽器只把用戶輸入數(shù)據(jù)當(dāng)成純粹的文本,而不是其他具有特殊含義的內(nèi)容,例如HTML代碼、JavaScript腳本。

  對于本例,只要加入一個HtmlEncode調(diào)用即可:

  Label1.Text=Server.HtmlEncode(feedback.Text)

  這樣,應(yīng)答HTML流將包含用戶輸入內(nèi)容的HTML編碼版本,也就是說,瀏覽器不會執(zhí)行用戶輸入的JavaScript代碼,因為根本不存在HTML的

本新聞共2頁,當(dāng)前在第2頁  1  2  

 
收藏】【打印】【進(jìn)入論壇
  相關(guān)文章:

·惠普WebOS設(shè)備成敗關(guān)鍵看應(yīng)用程序
·企業(yè)選擇Web木馬防護(hù)工具五大標(biāo)準(zhǔn)
·Web服務(wù)器訪問失敗故障處理技巧
·應(yīng)對WEB威脅 用戶必須了解的三件事
·Web服務(wù)器維護(hù)和安全管理技巧3則
·十個步驟打造安全的個人Web服務(wù)器 
·教你打好WEB服務(wù)器安全攻堅戰(zhàn)
·讓你的Web服務(wù)器日志文件更安全 
·緊急處理Web服務(wù)器訪問失敗故障
·Web服務(wù)器安裝和運行FTP操作步驟
·10個WEB設(shè)計戒律和10個設(shè)計師戒律

 
 
 
 
最新文章

中關(guān)村艷照門女主角詳記錄高清組圖 
大連護(hù)士門大尺度艷照高清組圖
iPhone女孩微博爆紅 最寶貴東西換iPhon
反恐精英之父內(nèi)維爾:改變電腦游戲銷售
團(tuán)購網(wǎng)站黎明之前:中國市場慘烈廝殺不
團(tuán)購鼻祖Groupon中國揭秘:快與慢的商業(yè)
Spil Games發(fā)布新的品牌形象
1800配置一臺主機(jī) 不要顯示器
聯(lián)想V360筆記本模特寫真
愛國者第四代移動硬盤將面市、低電壓保

 
推薦文章
1
2
3
4
5
6
7
8
9
10
iPhone女孩微博爆紅 最寶貴東西換
大連護(hù)士門大尺度艷照高清組圖
中關(guān)村艷照門女主角詳記錄高清組
蘋果員工中毒門
宮如敏不雅照瘋傳 看張馨予韓一菲
深耕市場 永續(xù)經(jīng)營——專訪百腦匯
優(yōu)派專業(yè)電子書 讓您回家旅途多姿
揭曉百萬大獎三星bada魅力綻放中
大明龍權(quán)“江湖英雄會”全國PK大
永恒之塔校園達(dá)人挑戰(zhàn)賽完美落幕
八卦圖解 More>>
iPhone女孩微博爆紅 最寶貴東西換 大連護(hù)士門大尺度艷照高清組圖
中關(guān)村艷照門女主角詳記錄高清組 宮如敏不雅照瘋傳 看張馨予韓一菲
安远县| 义马市| 牟定县| 鹿泉市| 武乡县| 开原市| 固阳县| 察隅县| 安泽县| 东平县| 曲靖市| 眉山市| 南开区| 民权县| 边坝县| 津市市| 奉节县| 商丘市| 武乡县| 雷波县| 中牟县| 武功县| 集贤县| 荥阳市| 蒙城县| 常山县| 鹰潭市| 永定县| 临颍县| 化德县| 探索| 河池市| 长垣县| 屯门区| 九龙县| 师宗县| 将乐县| 安顺市| 盘锦市| 上蔡县| 宣化县|