自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺析ASP.NET Web應(yīng)用程序的安全解決方案

開發(fā) 后端
本文介紹了ASP.NET Web應(yīng)用程序安全的解決方案。ASP.NET Web應(yīng)用程序主要的威脅來自未驗(yàn)證的訪問、反向工程、代碼注入、通過異常獲得程序信息、未審核訪問。

asp.net Web應(yīng)用程序安全隱患

1.對(duì)于程序集主要威脅:未驗(yàn)證的訪問、反向工程、代碼注入、通過異常獲得程序信息、未審核訪問。

2.客戶端與Web應(yīng)用程序之間的安全隱患:代碼注入(跨站點(diǎn)腳本或緩沖區(qū)溢出攻擊)、網(wǎng)絡(luò)監(jiān)控(密碼和敏感應(yīng)用程序數(shù)據(jù)探測(cè))、參數(shù)破解(表單字段、查詢字符串、Cookie、視圖狀態(tài)、HTTP頭信息)、會(huì)話狀態(tài)變量ID取得、信息獲取(通常使用異常)。

3.Web應(yīng)用程序客戶端與企業(yè)服務(wù)之間的安全隱患:非審核訪問、破解配置數(shù)據(jù)、網(wǎng)絡(luò)監(jiān)視、未約束代理、數(shù)據(jù)復(fù)制。

4.Web服務(wù)客戶端及其服務(wù)之間的安全隱患:非審核訪問、參數(shù)破解、配置數(shù)據(jù)取得、網(wǎng)絡(luò)監(jiān)、消息回復(fù)。

5.Remoting客戶端及服務(wù)器之間的安全隱患:非審核訪問、參數(shù)破解、序列化、網(wǎng)絡(luò)監(jiān)控。

6.客戶端到數(shù)據(jù)之間的安全隱患:非審核訪問、SQL注入、破解數(shù)據(jù)模型和鏈接詳細(xì)信息、網(wǎng)絡(luò)監(jiān)控、破解配置數(shù)據(jù)、破解面干應(yīng)用程序數(shù)據(jù)。

asp.net安全架構(gòu)注意事項(xiàng)

1.在瀏覽器認(rèn)證用戶;

2.在瀏覽器和防火墻通路中1)保護(hù)敏感數(shù)據(jù)2)阻止參數(shù)破解3)阻止會(huì)話攻擊和Cookie回復(fù)攻擊

3.在Web應(yīng)用程序側(cè)1)提供安全配置2)處理異常3)審核用戶4)驗(yàn)證輸入

4.應(yīng)用程序服務(wù)器1)認(rèn)證和審核上傳身份2)審核并記錄活動(dòng)和事務(wù)

5.在應(yīng)用程序服務(wù)器和數(shù)據(jù)庫間保護(hù)敏感數(shù)據(jù)

6.數(shù)據(jù)庫中加密或者哈希加密敏感數(shù)據(jù)

asp.net Web應(yīng)用程序安全性隱患防治辦法

1. 防止跨站點(diǎn)腳本攻擊(Cross-Site Scripting Attack)

攻擊方法:在頁面通過輸入腳本或HTML內(nèi)容獲取敏感數(shù)據(jù)。

威脅指數(shù):6

攻擊結(jié)果:應(yīng)用程序拒絕服務(wù)或重啟,獲得錯(cuò)誤堆棧信息(※)推測(cè)代碼進(jìn)行下一步攻擊。

※注:在asp.net配置文件中如果未關(guān)閉CustomErrors則可能導(dǎo)致在出現(xiàn)系統(tǒng)異常時(shí)顯示錯(cuò)誤行代碼或數(shù)據(jù)庫連接字符串,泄漏配置數(shù)據(jù),造成危險(xiǎn)隱患。

預(yù)防措施:asp.net控件驗(yàn)證或服務(wù)器端輸入驗(yàn)證。

采用客戶端驗(yàn)證和服務(wù)器端驗(yàn)證結(jié)合的方式對(duì)用戶輸入進(jìn)行驗(yàn)證,通過比較控件輸入和其HTML譯碼值的一致性確認(rèn)輸入字符串中是否含有HTML特殊符號(hào),以此作為依據(jù)轉(zhuǎn)化HTML特殊符號(hào),防止腳本在回發(fā)表示時(shí)觸發(fā)。

2.防止SQL注入攻擊(SQL Injection Attack)

攻擊方法:通過畫面輸入或URL參數(shù)修改,利用其作為SQL查詢條件的特殊性,將輸入SQL文注入并返回結(jié)果的攻擊。

威脅指數(shù):9

攻擊結(jié)果:可查詢敏感數(shù)據(jù)并可修改系統(tǒng)數(shù)據(jù)。

預(yù)防措施:在數(shù)據(jù)更新和查詢時(shí)使用數(shù)據(jù)庫參數(shù)對(duì)象或使用自定義方法轉(zhuǎn)換輸入?yún)?shù),以使注入SQL文失效。

3.驗(yàn)證用戶輸入

通過客戶端驗(yàn)證為主、服務(wù)器端驗(yàn)證為輔(當(dāng)禁用客戶端Javascript時(shí)服務(wù)器端驗(yàn)證就尤為重要)

客戶端驗(yàn)證主要負(fù)責(zé)驗(yàn)證用戶輸入的類型、長(zhǎng)度、關(guān)聯(lián)關(guān)系的驗(yàn)證(此功能由系統(tǒng)擴(kuò)展控件提供);

服務(wù)器端驗(yàn)證分為兩部分:

1) 輸入驗(yàn)證

輸入驗(yàn)證需要對(duì)用戶輸入文字的HTML特殊字符進(jìn)行驗(yàn)證,含有特殊字符的要拋出系統(tǒng)錯(cuò)誤;數(shù)據(jù)的長(zhǎng)度控制盡量在畫面通過控件的允許輸入長(zhǎng)度進(jìn)行控制;

2) 數(shù)據(jù)驗(yàn)證

驗(yàn)證數(shù)據(jù)類型、長(zhǎng)度等;此驗(yàn)證行為在對(duì)象上進(jìn)行。

4.使用Hash算法保存密碼

使用asp.net Membership管理用戶,用戶密碼使用Hash算法和Salt加密,安全性高;

對(duì)于其它需要保存的密碼,系統(tǒng)基礎(chǔ)結(jié)構(gòu)將提供Hash加密算法進(jìn)行不可反向加密,作為驗(yàn)證憑據(jù),或者先取先用不保存在數(shù)據(jù)存儲(chǔ)中。

5.數(shù)據(jù)安全性

1)加密敏感數(shù)據(jù):基礎(chǔ)結(jié)構(gòu)應(yīng)提供Hash加密算法支持?jǐn)?shù)據(jù)加密。

2)XML數(shù)據(jù)安全性:防止XML數(shù)據(jù)攻擊。

攻擊方法:XPath注入和XXE(擴(kuò)展XML實(shí)體)注入攻擊。

威脅指數(shù):8

攻擊結(jié)果:獲得XML文件信息。

預(yù)防措施:不在XML中保存敏感信息,所有配置文件中的敏感信息需要加密保存,對(duì)于要寫入XML的數(shù)據(jù)應(yīng)先通過驗(yàn)證。

3)ViewState數(shù)據(jù)安全性:防止從ViewState獲取敏感數(shù)據(jù)。

攻擊方法:通過解碼ViewState獲得敏感信息。

威脅指數(shù):6

攻擊結(jié)果:獲得ViewState中的敏感信息。

預(yù)防措施:禁用ViewState或避免,使用簡(jiǎn)單控件采用加密方式保存敏感信息。

關(guān)聯(lián)問題:使用JSON字符串時(shí)注意敏感數(shù)據(jù)的處理。

6.存儲(chǔ)安全信息到注冊(cè)表和配置文件

控制遠(yuǎn)程用戶對(duì)配置文件的訪問權(quán)限,保護(hù)配置文件中的敏感數(shù)據(jù)。

7.再發(fā)布前修正配置文件

為防止錯(cuò)誤堆棧信息推測(cè)以及通過其它信息查獲手段進(jìn)行攻擊,asp.net Web應(yīng)用程序在發(fā)布前應(yīng)對(duì)配置文件進(jìn)行修正。

錯(cuò)誤堆棧信息推測(cè)攻擊

攻擊方法:造成系統(tǒng)異常,通過錯(cuò)誤頁上的堆棧信息推測(cè)代碼進(jìn)行下一步攻擊。

威脅指數(shù):6

攻擊結(jié)果:推測(cè)系統(tǒng)版本和代碼邏輯。

預(yù)防措施:捕獲系統(tǒng)異常使用統(tǒng)一頁面進(jìn)行處理不表示錯(cuò)誤堆棧信息,將自定義錯(cuò)誤節(jié)點(diǎn)設(shè)置為< customErrors mode=”O(jiān)ff” />即可防止錯(cuò)誤信息表示給遠(yuǎn)程用戶;同時(shí)應(yīng)關(guān)閉調(diào)試開關(guān)< compilation defaultLanguage=”vb” debug=”false” />防止通過調(diào)試信息泄漏源代碼或進(jìn)行代碼注入。

同時(shí)應(yīng)該關(guān)閉Trace優(yōu)化性能并防止方法攻擊者利用Trace推測(cè)代碼執(zhí)行過程和詳細(xì)內(nèi)容:< trace enabled=”false” requestLimit=”10” pageOutput=”false” traceMode = ”SortByTime” />

對(duì)于Web服務(wù)要防止遠(yuǎn)程用戶利用WSDL描述進(jìn)行推測(cè)攻擊。

攻擊方法:訪問Web服務(wù)WSDL文件,獲得Web服務(wù)相關(guān)信息。

威脅指數(shù):4

攻擊結(jié)果:獲得Web服務(wù)方法描述,推測(cè)Web服務(wù)參數(shù),進(jìn)行下一步攻擊。

預(yù)防措施:在配置文件中指定不表示W(wǎng)eb方法描述內(nèi)容,配置文件改修如下:

  1. < webServices>  
  2.  
  3. < protocols>  
  4.  
  5. < remove name="Documentation"/>  
  6.  
  7. < /protocols>  
  8.  
  9. < /webServices>  
  10.  

8.使用Session但不使用Cookieless的Session

原因:Cookieless的Session將在URL中曝露SessionID,使別人易于利用進(jìn)行攻擊。

9.預(yù)防方向工程

攻擊方法:獲得程序集使用工具進(jìn)行反向工程。

威脅指數(shù):9

攻擊結(jié)果:了解程序邏輯,盜取開發(fā)成果。

預(yù)防措施:在發(fā)布時(shí)進(jìn)行強(qiáng)加密和混淆工程。

以上就介紹了ASP.NET Web應(yīng)用程序的安全解決方案。

【編輯推薦】

  1. ASP.NET中的“三層結(jié)構(gòu)”簡(jiǎn)介
  2. ASP.NET中優(yōu)化性能方法26則
  3. 比較ASP.NET中的html控件和web控件
  4. ASP.NET中的對(duì)象描述
  5. 在ASP.NET中使用Session常見問題總結(jié)
責(zé)任編輯:book05 來源: cnblogs
相關(guān)推薦

2009-07-20 16:08:04

ASP.NET應(yīng)用程序

2009-07-29 10:30:53

Web應(yīng)用程序ASP.NET

2009-07-20 16:03:14

ASP.NET 2.0

2009-07-27 15:19:54

2009-07-21 15:23:55

預(yù)編譯Web應(yīng)用程序ASP.NET

2009-07-24 10:41:00

ASP.NET Web

2009-07-24 11:25:53

Web應(yīng)用程序工程ASP.NET MVC

2009-07-28 14:54:47

web.config文ASP.NET應(yīng)用程序

2009-07-29 11:25:40

2009-07-27 16:09:50

2009-07-29 17:01:13

2009-08-05 10:16:54

部署ASP.NET應(yīng)用

2009-07-22 17:32:40

ASP.NET應(yīng)用程序

2009-07-23 13:26:21

2009-07-21 15:02:19

ASP.NET應(yīng)用程序

2009-07-29 17:21:10

2009-07-28 17:49:44

ASP.NET數(shù)據(jù)庫連

2009-07-29 17:20:18

應(yīng)用程序異常

2009-07-29 11:33:14

ASP.NET技巧ASP.NET應(yīng)用程序

2009-07-28 15:53:43

ASP.NET Web
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)