❶ Web應用常見的安全漏洞有哪些
OWASP總結了現有Web應用程序在安全方面常見的十大漏洞分別是:非法輸入、失效的訪問控制、失效的賬戶和線程管理、跨站腳本攻擊、緩存溢出問題、注入式攻擊、異常錯誤處理、不安全的存儲、程序拒絕服務攻擊、不安全的配置管理等。
非法輸入
Unvalidated Input
在數據被輸入程序前忽略對數據合法性的檢驗是一個常見的編程漏洞。隨著OWASP對Web應用程序脆弱性的調查,非法輸入的問題已成為大多數Web應用程序安全漏洞方面的一個普遍現象。
失效的訪問控制
Broken Access Control
大部分企業都非常關注對已經建立的連接進行控制,但是,允許一個特定的字元串輸入可以讓攻擊行為繞過企業的控制。
失效的賬戶和線程管理
Broken Authentication and Session Management
有良好的訪問控制並不意味著萬事大吉,企業還應該保護用戶的密碼、會話令牌、賬戶列表及其它任何可為攻擊者提供有利信息、能幫助他們攻擊企業網路的內容。
跨站點腳本攻擊
Cross Site Scripting Flaws
這是一種常見的攻擊,當攻擊腳本被嵌入企業的Web頁面或其它可以訪問的Web資源中,沒有保護能力的台式機訪問這個頁面或資源時,腳本就會被啟動,這種攻擊可以影響企業內成百上千員工的終端電腦。
緩存溢出問題
Buffer Overflows
這個問題一般出現在用較早的編程語言、如C語言編寫的程序中,這種編程錯誤其實也是由於沒有很好地確定輸入內容在內存中的位置所致。
注入式攻擊
Injection Flaws
如果沒有成功地阻止帶有語法含義的輸入內容,有可能導致對資料庫信息的非法訪問,在Web表單中輸入的內容應該保持簡單,並且不應包含可被執行的代碼。
異常錯誤處理
Improper Error Handling
當錯誤發生時,向用戶提交錯誤提示是很正常的事情,但是如果提交的錯誤提示中包含了太多的內容,就有可能會被攻擊者分析出網路環境的結構或配置。
不安全的存儲
Insecure Storage
對於Web應用程序來說,妥善保存密碼、用戶名及其他與身份驗證有關的信息是非常重要的工作,對這些信息進行加密則是非常有效的方式,但是一些企業會採用那些未經實踐驗證的加密解決方案,其中就可能存在安全漏洞。
程序拒絕服務攻擊
Application Denial of Service
與拒絕服務攻擊 (DoS)類似,應用程序的DoS攻擊會利用大量非法用戶搶占應用程序資源,導致合法用戶無法使用該Web應用程序。
不安全的配置管理
Insecure Configuration Management
有效的配置管理過程可以為Web應用程序和企業的網路架構提供良好的保護。
以上十個漏洞並不能涵蓋如今企業Web應用程序中的全部脆弱點,它只是OWASP成員最常遇到的問題,也是所有企業在開發和改進Web應用程序時應著重檢查的內容。
❷ 如何進行Web應用的安全測試和輸入校驗
下面這幾個注意事項或許可以幫你一些
1. 找到Web應用所有的輸入點,找到所有的能接受用戶輸入的地方,漏掉輸入點也就漏掉了可能存在的縫。
2. 過濾每一個輸入點,為每個輸入點設定相應的校驗規則和邊界。
3. 不要忘記校驗哪些隱藏域,cookie和url參數。
4. 驗證從資料庫裡面得到的數據,這個是最容易忽視的地方,不要相信來自資料庫裡面的數據就是合法的數據。
5. 你是如何做輸入校驗的? javascript?如果只是用javascript做客戶端校驗, 風險還是很大的,一定要確保加上服務端的校驗,否則如果客戶端禁用了javascript或者客戶端代碼被人工修改,非法數據還是會進入系統內部的。
6. 隱藏異常信息,再周全的校驗也不可能覆蓋所有的case,如果非法數據造成了系統的異常,不要將詳細的異常信息暴露給客戶端,這些異常信息有可能成為系統的攻擊入口。
在做輸入校驗的時候,從「什麼樣的輸入才是合法的」入手會降低驗證失效的風險,應該只為每個輸入點的輸入內容制定一個有限的,剛好夠用的合法范圍,除此之外的所有內容都當做是非法的。而從「什麼樣的輸入是不合法的」入手則會增加驗證失效的可能,因為你不可能窮舉非法的輸入。
❸ 如何在Web應用程序中實現自定義身份驗證對話
iis配置問題google一下,這個比較全,你試試1、錯誤號401.1
症狀:HTTP 錯誤 401.1 - 未經授權:訪問由於憑據無效被拒絕。
分析:
由於用戶匿名訪問使用的賬號(默認是IUSR_機器名)被禁用,或者沒有許可權訪問計算機,將造成用戶無法訪問。
解決方案:
(1)查看IIS管理器中站點安全設置的匿名帳戶是否被禁用,如果是,請嘗試用以下辦法啟用:
控制面板->管理工具->計算機管理->本地用戶和組,將IUSR_機器名賬號啟用。如果還沒有解決,請繼續下一步。
(2)查看本地安全策略中,IIS管理器中站點的默認匿名訪問帳號或者其所屬的組是否有通過網路訪問伺服器的許可權,如果沒有嘗試用以下步驟賦予許可權:
開始->程序->管理工具->本地安全策略->安全策略->本地策略->用戶許可權分配,雙擊「從網路訪問此計算機」,添加IIS默認用戶或者其所屬的組。
注意:一般自定義 IIS默認匿名訪問帳號都屬於組,為了安全,沒有特殊需要,請遵循此規則。2、錯誤號401.2
症狀:HTTP 錯誤 401.2 - 未經授權:訪問由於伺服器配置被拒絕。
原因:關閉了匿名身份驗證
解決方案:
運行inetmgr,打開站點屬性->目錄安全性->身份驗證和訪問控制->選中「啟用匿名訪問」,輸入用戶名,或者點擊「瀏覽」選擇合法的用戶,並兩次輸入密碼後確定。3、錯誤號:401.3
症狀:HTTP 錯誤 401.3 - 未經授權:訪問由於 ACL 對所請求資源的設置被拒絕。
原因:IIS匿名用戶一般屬於Guests組,而我們一般把存放網站的硬碟的許可權只分配給administrators組,這時候按照繼承原則,網站文件夾也只有administrators組的成員才能訪問,導致IIS匿名用戶訪問該文件的NTFS許可權不足,從而導致頁面無法訪問。
解決方案:
給IIS匿名用戶訪問網站文件夾的許可權,方法:進入該文件夾的安全選項,添加IIS匿名用戶,並賦予相應許可權,一般是讀、寫。
您未被授權查看該頁
您不具備使用所提供的憑據查看該目錄或頁的許可權,因為 Web 瀏覽器正在發送 Web 伺服器未配置接受的 WWW-Authenticate 報頭欄位。請嘗試以下操作:如果您認為自己應該能夠查看該目錄或頁面,請與網站管理員聯系。
單擊刷新按鈕,並使用其他憑據重試。
HTTP 錯誤 401.2 - 未經授權:訪問由於伺服器配置被拒絕。
Internet 信息服務 (IIS)技術信息(為技術支持人員提供)轉到 Microsoft 產品支持服務並搜索包括「HTTP」和「401」的標題。
打開「IIS 幫助」(可在 IIS 管理器 (inetmgr) 中訪問),然後搜索標題為「關於安全」、「身份驗證」和「關於自定義錯誤消息」的主題。只要一打開WEB這個目錄就不行
換個名子就可以了~!
暈~1
把WEB這個目錄刪了
你在打還是您未被授權查看該頁
換個就可以了/~!IIS特有的問題在IIS中選中這個文件夾點右鍵-屬性-執行許可選「純腳本」試試iis里你的虛擬目錄,屬性-〉目錄安全性-〉編輯身份驗證和訪問控制網站屬性里把「目錄安全」-點「身分驗證和訪問控制」-「編輯」-去掉「啟用匿名訪問「鉤去了就可以了很多朋友在用IIS6架網站的時候遇到不少問題,而這些問題有些在過去的IIS5裡面就遇到過,有些是新出來的,俺忙活了一下午,做了很多次試驗,結合以前的排錯經驗,做出了這個總結,希望能給大家幫上忙:)
問題1:未啟用父路徑
症狀舉例:
Server.MapPath() 錯誤 'ASP 0175 : 80004005'
不允許的 Path 字元
/0709/dqyllhsub/news/OpenDatabase.asp,行 4
在 MapPath 的 Path 參數中不允許字元 '..'。
原因分析:
許多Web頁面里要用到諸如../格式的語句(即回到上一層的頁面,也就是父路徑),而IIS6.0出於安全考慮,這一選項默認是關閉的。
解決方法:
在IIS中屬性->主目錄->配置->選項中。把」啟用父路徑「前面打上勾。確認刷新。問題2:ASP的Web擴展配置不當(同樣適用於ASP.NET、CGI)
症狀舉例:
HTTP 錯誤 404 - 文件或目錄未找到。
原因分析:
在IIS6.0中新增了web程序擴展這一選項,你可以在其中對ASP、ASP.NET、CGI、IDC等程序進行允許或禁止,默認情況下ASP等程序是禁止的。
解決方法:
在IIS中的Web服務擴展中選中Active Server Pages,點擊「允許」。問題3:身份認證配置不當
症狀舉例:
HTTP 錯誤 401.2 - 未經授權:訪問由於伺服器配置被拒絕。
原因分析:IIS 支持以下幾種 Web 身份驗證方法:
匿名身份驗證
IIS 創建 IUSR_計算機名稱 帳戶(其中 計算機名稱 是正在運行 IIS 的伺服器的名稱),用來在匿名用戶請求 Web 內容時對他們進行身份驗證。此帳戶授予用戶本地登錄許可權。你可以將匿名用戶訪問重置為使用任何有效的 Windows 帳戶。
基本身份驗證
使用基本身份驗證可限制對 NTFS 格式 Web 伺服器上的文件的訪問。使用基本身份驗證,用戶必須輸入憑據,而且訪問是基於用戶 ID 的。用戶 ID 和密碼都以明文形式在網路間進行發送。
Windows 集成身份驗證
Windows 集成身份驗證比基本身份驗證安全,而且在用戶具有 Windows 域帳戶的內部網環境中能很好地發揮作用。在集成的 Windows 身份驗證中,瀏覽器嘗試使用當前用戶在域登錄過程中使用的憑據,如果嘗試失敗,就會提示該用戶輸入用戶名和密碼。如果你使用集成的 Windows 身份驗證,則用戶的密碼將不傳送到伺服器。如果該用戶作為域用戶登錄到本地計算機,則他在訪問此域中的網路計算機時不必再次進行身份驗證。
摘要身份驗證
摘要身份驗證克服了基本身份驗證的許多缺點。在使用摘要身份驗證時,密碼不是以明文形式發送的。另外,你可以通過代理伺服器使用摘要身份驗證。摘要身份驗證使用一種挑戰/響應機制(集成 Windows 身份驗證使用的機制),其中的密碼是以加密形式發送的。
.NET Passport 身份驗證
Microsoft .NET Passport 是一項用戶身份驗證服務,它允許單一簽入安全性,可使用戶在訪問啟用了 .NET Passport 的 Web 站點和服務時更加安全。啟用了 .NET Passport 的站點會依* .NET Passport 中央伺服器來對用戶進行身份驗證。但是,該中心伺服器不會授權或拒絕特定用戶訪問各個啟用了 .NET Passport 的站點。
解決方法:
根據需要配置不同的身份認證(一般為匿名身份認證,這是大多數站點使用的認證方法)。認證選項在IIS的屬性->安全性->身份驗證和訪問控制下配置。
問題4:IP限制配置不當
症狀舉例:
HTTP 錯誤 403.6 - 禁止訪問:客戶端的 IP 地址被拒絕。
原因分析:
IIS提供了IP限制的機制,你可以通過配置來限制某㊣P不能訪問站點,或者限制僅僅只有某些IP可以訪問站點,而如果客戶端在被你阻止的IP范圍內,或者不在你允許的范圍內,則會出現錯誤提示。
解決方法:
進入IIS的屬性->安全性->IP地址和域名限制。如果要限制某些IP地址的訪問,需要選擇授權訪問,點添加選擇不允許的IP地址。反之則可以只允許某些IP地址的訪問。
問題5:IUSR賬號被禁用
症狀舉例:
HTTP 錯誤 401.1 - 未經授權:訪問由於憑據無效被拒絕。
原因分析:
由於用戶匿名訪問使用的賬號是IUSR_機器名,因此如果此賬號被禁用,將造成用戶無法訪問。
解決辦法:
控制面板->管理工具->計算機管理->本地用戶和組,將IUSR_機器名賬號啟用。
問題6:NTFS許可權設置不當
症狀舉例:
HTTP 錯誤 401.3 - 未經授權:訪問由於 ACL 對所請求資源的設置被拒絕。
原因分析:
Web客戶端的用戶隸屬於user組,因此,如果該文件的NTFS許可權不足(例如沒有讀許可權),則會導致頁面無法訪問。
解決辦法:
進入該文件夾的安全選項卡,配置user的許可權,至少要給讀許可權。關於NTFS許可權設置這里不再饋述。
問題7:IWAM賬號不同步
症狀舉例:
HTTP 500 - 內部伺服器錯誤
原因分析:
IWAM賬號是安裝IIS時系統自動建立的一個內置賬號。IWAM賬號建立後被Active Directory、IIS metabase資料庫和COM+應用程序三方共同使用,賬號密碼被三方分別保存,並由操作系統負責這三方保存的IWAM密碼的同步工作。系統對IWAM賬號的密碼同步工作有時會失效,導致IWAM賬號所用密碼不統一。
解決辦法:
如果存在AD,選擇開始->程序->管理工具->Active Directory用戶和計算機。為IWAM賬號設置密碼。
運行c:\\Inetpub\\AdminScripts>adsutil SET w3svc/WAMUserPass +密碼 同步IIS metabase資料庫密碼
運行cscript c:\\inetpub\\adminscripts\\synciwam.vbs -v 同步IWAM賬號在COM+應用程序中的密碼
問題8:MIME設置問題導致某些類型文件無法下載(以ISO為例)
症狀舉例:
HTTP 錯誤 404 - 文件或目錄未找到。
原因分析:
IIS6.0取消了對某些MIME類型的支持,例如ISO,致使客戶端下載出錯。
解決方法:
在IIS中屬性->HTTP頭->MIME類型->新建。在隨後的對話框中,擴展名填入.ISO,MIME類型是application。
另外,防火牆阻止,ODBC配置錯誤,Web伺服器性能限制,線程限制等因素也是造成IIS伺服器無法訪問的可能原因,這里就不再一一饋述了
DCOUNT(database,field,criteria)參數說明:Database
❹ SQLServer安全規劃全攻略的Web環境中的驗證
即使最好的安全策略也常常在一種情形前屈服,這種情形就是在Web應用中使用SQL Server的數據。在這種情形下,進行驗證的典型方法是把一組SQL Server登錄名稱和密碼嵌入到Web伺服器上運行的程序,比如ASP頁面或者CGI腳本;然後,由Web伺服器負責驗證用戶,應用程序則使用它自己的登錄帳戶(或者是系統管理員sa帳戶,或者為了方便起見,使用Sysadmin伺服器角色中的登錄帳戶)為用戶訪問數據。
這種安排有幾個缺點,其中最重要的包括:它不具備對用戶在伺服器上的活動進行審核的能力,完全依賴於Web應用程序實現用戶驗證,當SQL Server需要限定用戶許可權時不同的用戶之間不易區別。
如果你使用的是IIS 5.0或者IIS 4.0,你可以用四種方法驗證用戶。第一種方法是為每一個網站和每一個虛擬目錄創建一個匿名用戶的NT帳戶。此後,所有應用程序登錄SQL Server時都使用該安全環境。我們可以通過授予NT匿名帳戶合適的許可權,改進審核和驗證功能。
第二種方法是讓所有網站使用Basic驗證。此時,只有當用戶在對話框中輸入了合法的帳戶和密碼,IIS才會允許他們訪問頁面。IIS依靠一個NT安全資料庫實現登錄身份驗證,NT安全資料庫既可以在本地伺服器上,也可以在域控制器上。當用戶運行一個訪問SQL Server資料庫的程序或者腳本時,IIS把用戶為了瀏覽頁面而提供的身份信息發送給伺服器。
如果你使用這種方法,應該記住:在通常情況下,瀏覽器與伺服器之間的密碼傳送一般是不加密的,對於那些使用Basic驗證而安全又很重要的網站,你必須實現SSL(Secure Sockets Layer,安全套接字層)。
在客戶端只使用IE 5.0、IE 4.0、IE 3.0瀏覽器的情況下,你可以使用第三種驗證方法。你可以在Web網站上和虛擬目錄上都啟用NT驗證。IE會把用戶登錄計算機的身份信息發送給IIS,當該用戶試圖登錄SQL Server時IIS就使用這些登錄信息。使用這種簡化的方法時,我們可以在一個遠程網站的域上對用戶身份進行驗證(該遠程網站登錄到一個與運行著Web伺服器的域有著信任關系的域)。
最後,如果用戶都有個人數字證書,你可以把那些證書映射到本地域的NT帳戶上。個人數字證書與伺服器數字證書以同樣的技術為基礎,它證明用戶身份標識的合法性,所以可以取代NT的Challenge/Response(質詢/回應)驗證演算法。Netscape和IE都自動在每一個頁面請求中把證書信息發送給IIS。IIS提供了一個讓管理員把證書映射到NT帳戶的工具。因此,我們可以用數字證書取代通常的提供帳戶名字和密碼的登錄過程。
由此可見,通過NT帳戶驗證用戶時我們可以使用多種實現方法。即使當用戶通過IIS跨越Internet連接SQL Server時,選擇仍舊存在。因此,你應該把NT驗證作為首選的用戶身份驗證辦法。
❺ 求畢業論文:web應用程序的安全性研究
ASP.NET的身份驗證
[摘要]在web應用程序開發中,經常會涉及與用戶交互的過程。不同用戶的許可權是不同的,要實現不同用戶的許可權分配,就要涉及用戶、角色的管理、用戶的登陸。ASP.NET2.0的成員和角色管理簡化了用戶管理的功能。本文主要針對ASP.NET應用程序身份驗證的概念,介紹了各種身份驗證模式並進行了比較,並給出了一種基於窗體身份驗證模式的實現方法。
[關鍵字]身份驗證、Windows驗證、Passport身份驗證、Forms身份驗證
一、 問題描述
1、問題的提出
在網站的開發中,大多數都會碰到與用戶的交互。用戶可以利用應用程序來完成自己的業務或實現一些功能,比如發布信息,獲取信息等等。為了交互應用的需要,這些用戶需要保存到存儲器中,不同用戶的許可權不同,比如:管理員可以配置應用程序,可以增、刪、改用戶信息,而普通的用戶只能瀏覽網站。要實現不同用戶的許可權管理,首先就要對不同的用戶的身份進行確認,這就是本文要講述的主題———身份驗證。
2、身份驗證的概念
什麼是身份驗證?web應用程序中如果想要不同的用戶有不同的資源訪問許可權,就要對訪問該資源的用戶進行辨別,應用程序需要知道該用戶是誰,以確定訪問者的身份是否有許可權進行訪問和操作。這一過程就是身份驗證。
二、 ASP.NET2.0提供的4種身份驗證模式
1、Windows驗證
使用這種身份驗證模式時,ASP.NET依賴於IIS對用戶進行驗證,並創建一個Windows訪問令牌來表示已通過驗證的標識。IIS提供以下幾種身份驗證機制:
基本身份驗證
簡要身份驗證
集成windows身份驗證
證書身份驗證
匿名身份嚴整
2、Passport(護照)身份驗證
在通常的基於用戶名和密碼的身份驗證程序中,網站開發人員一般要處理下面幾個過程:
一個用於用戶輸入用戶名和密碼的圖形界面
一個用來保存用戶信息的資料庫
實現用戶驗證
注銷功能
如果自己來編寫登陸程序的話,上面的步驟是必不可少的。ASP.NET提供了Passport身份驗證模式,由Microsoft提供集中身份驗證服務,完全實現了上面提到的4個方面,這些功能由System.Web.Security.PassportIdentity類來實現。網站開發人員只需要在自己的代碼中實例化System.Web.Security.PassportIdentity類,調用其相關的方法就可完成基於用戶名和密碼的身份驗證程序。
3、Forms(窗體)身份驗證
Forms身份驗證是使用比較多的一種驗證方式,它不需要依賴任何其他的程序或服務,完全靠網站開發人員來進行控制,因此,在web應用程序中被廣泛使用。這種驗證方式使用客戶端重定向功能,將未通過身份驗證的用戶轉發到特定的登錄窗體,要求用戶輸入其憑據信息(通常是用戶名和密碼)。這些憑據信息被驗證後,系統生成一個身份驗證票證(ticket)並將其返回客戶端。身份驗證票證可在用戶的會話期間維護用戶的身份標識信息,以及用戶所屬的角色列表。
4、None
使用這種身份驗證模式,表示你不希望對用戶進行驗證,或是採用自定義的身份驗證協議。
三、 基於Forms身份驗證模式的實現方法
使用Forms身份驗證比較簡單,下面通過一個實例來說明Forms身份驗證的實現方法。這里假設整個網站都需要登陸才能訪問,而且需要有注冊頁面
1、站點根目錄下,配置web.config,使用Forms身份驗證
將<authentication>元素設置為:
<authentication mode="Forms" >
<forms name="MyAppFormAuth" loginUrl="login.aspx" protection="All" timeout="20" path="/">
</forms>
</authentication>
註解:
(1)mode="Forms",身份驗證為Forms模式
(2)name="MyAppFormAuth" ,用於身份驗證的Cookie的名字
(3)loginUrl="login.aspx" ,身份驗證時用戶登陸的url
(4)protection="All" 指定應用程序同時使用數據驗證和加密方法來保護Cookie。
(5)timeout="20" 指定Cookie過期的時間為20分鍾。
2、在站點根目錄下建立登陸界面login.aspx,關鍵代碼如下:
proteced void CmdLogin_Click(object sender,EventArgs e)
{
//為了講解方便,省略資料庫查詢過程,直接判斷。
If(UserName.Text==」dl」 && Userpwd.Text==」123」)
{
FormsAuthentication.RedirectFromLoginPage(UserName,chkPersist.Checked);
}
else
{
Info.Text=」口令錯誤,請重新輸入。」;
}
}
註解:
(1) UserName:輸入用戶名的文本框
(2) Userpwd:輸入密碼的文本框
(3) ChkPersist:是否記錄口令的復選按鈕
四、 總結
本文介紹了Web應用程序開發中對注冊用戶進行身份驗證的功能,ASP.NET2.0提供了多種實現方法,要根據應用程序的使用對象來選擇適合自己的方法。Forms身份驗證是Web應用程序中最常用的方式,也是比較簡單的方式。
❻ 目前在Internet上應用最為廣泛的服務是什麼
截止2020年12月,目前在Internet上應用最為廣泛的服務是WWW服務。
WWW是以超文本標記語言HTML和超文本傳輸協議HTTP為基礎的,其系統結構採用客戶機/伺服器模式。
Web伺服器上存放著大量以超文本形式表示的、各單位(或者個人)需要公開發布的或可共享的信息,這些超文本信息互相鏈接,從而形成了一個全球范圍內可以互相引用(關聯)的信息網路,用戶通過WWW瀏覽器軟體可以查詢和獲取分布在世界各地的Web伺服器上的信息資源。
(6)web應用中使用最為廣泛的驗證擴展閱讀:
特點
1、以超文本方式組織網路多媒體信息。
2、用戶可以在世界范圍內任意查找、檢索、瀏覽及添加信息。
3、提供生動直觀、易於使用且統一的圖形用戶界面。
4、伺服器之間可以互相鏈接。
5、可以訪問圖像、聲音、影像和文本型信息。
❼ WEB測試應該注意哪些地方,怎樣才能做好WEB
基於Web的系統測試與傳統的軟體測試既有相同之處,也有不同的地方,對軟體測試提出了新的挑戰。基於Web的系統測試不但需要檢查和驗證是否按照設計的要求運行,而且還要評價系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。本文從功能、性能、可用性、客戶端兼容性、安全性等方面討論了基於Web的系統測試方法。
隨著Internet和Intranet/Extranet的快速增長,Web已經對商業、工業、銀行、財政、教育、政府和娛樂及我們的工作和生活產生了深遠的影響。許多傳統的信息和資料庫系統正在被移植到互聯網上,電子商務迅速增長,早已超過了國界。范圍廣泛的、復雜的分布式應用正在Web環境中出現。Web的流行和無所不在,是因為它能提供支持所有類型內容連接的信息發布,容易為最終用戶存取。
Yogesh Deshpande和Steve Hansen在1998年就提出了Web工程的概念。Web工程作為一門新興的學科,提倡使用一個過程和系統的方法來開發高質量的基於Web的系統。它"使用合理的、科學的工程和管理原則,用嚴密的和系統的方法來開發、發布和維護基於Web的系統"。目前,對於web工程的研究主要是在國外開展的,國內還剛剛起步。
在基於Web的系統開發中,如果缺乏嚴格的過程,我們在開發、發布、實施和維護Web的過程中,可能就會碰到一些嚴重的問題,失敗的可能性很大。而且,隨著基於Web的系統變得越來越復雜,一個項目的失敗將可能導致很多問題。當這種情況發生時,我們對Web和Internet的信心可能會無法挽救地動搖,從而引起Web危機。並且,Web危機可能會比軟體開發人員所面對的軟體危機更加嚴重、更加廣泛。
在Web工程過程中,基於Web系統的測試、確認和驗收是一項重要而富有挑戰性的工作。基於Web的系統測試與傳統的軟體測試不同,它不但需要檢查和驗證是否按照設計的要求運行,而且還要測試系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。然而,Internet和Web媒體的不可預見性使測試基於Web的系統變得困難。因此,我們必須為測試和評估復雜的基於Web的系統研究新的方法和技術。
一般軟體的發布周期以月或以年計算,而Web應用的發布周期以天計算甚至以小時計算。Web測試人員必須處理更短的發布周期,測試人員和測試管理人員面臨著從測試傳統的C/S結構和框架環境到測試快速改變的Web應用系統的轉變。
一、功能測試
1、鏈接測試
鏈接是Web應用系統的一個主要特徵,它是在頁面之間切換和指導用戶去一些不知道地址的頁面的主要手段。鏈接測試可分為三個方面。首先,測試所有鏈接是否按指示的那樣確實鏈接到了該鏈接的頁面;其次,測試所鏈接的頁面是否存在;最後,保證Web應用系統上沒有孤立的頁面,所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL地址才能訪問。鏈接測試可以自動進行,現在已經有許多工具可以採用。鏈接測試必須在集成測試階段完成,也就是說,在整個Web應用系統的所有頁面開發完成之後進行鏈接測試。
2、表單測試
當用戶給Web應用系統管理員提交信息時,就需要使用表單操作,例如用戶注冊、登陸、信息提交等。在這種情況下,我們必須測試提交操作的完整性,以校驗提交給伺服器的信息的正確性。例如:用戶填寫的出生日期與職業是否恰當,填寫的所屬省份與所在城市是否匹配等。如果使用了默認值,還要檢驗默認值的正確性。如果表單只能接受指定的某些值,則也要進行測試。例如:只能接受某些字元,測試時可以跳過這些字元,看系統是否會報錯。
3、Cookies測試
Cookies通常用來存儲用戶信息和用戶在某應用系統的操作,當一個用戶使用Cookies訪問了某一個應用系統時,Web伺服器將發送關於用戶的信息,把該信息以Cookies的形式存儲在客戶端計算機上,這可用來創建動態和自定義頁面或者存儲登陸等信息。如果Web應用系統使用了Cookies,就必須檢查Cookies是否能正常工作。測試的內容可包括Cookies是否起作用,是否按預定的時間進行保存,刷新對Cookies有什麼影響等。
4、設計語言測試
Web設計語言版本的差異可以引起客戶端或伺服器端嚴重的問題,例如使用哪種版本的HTML等。當在分布式環境中開發時,開發人員都不在一起,這個問題就顯得尤為重要。除了HTML的版本問題外,不同的腳本語言,例如Java、javascript、 ActiveX、VBScript或Perl等也要進行驗證。
5、資料庫測試
在Web應用技術中,資料庫起著重要的作用,資料庫為Web應用系統的管理、運行、查詢和實現用戶對數據存儲的請求等提供空間。在Web應用中,最常用的資料庫類型是關系型資料庫,可以使用SQL對信息進行處理。在使用了資料庫的Web應用系統中,一般情況下,可能發生兩種錯誤,分別是數據一致性錯誤和輸出錯誤。數據一致性錯誤主要是由於用戶提交的表單信息不正確而造成的,而輸出錯誤主要是由於網路速度或程序設計問題等引起的,針對這兩種情況,可分別進行測試。
二、性能測試
1、連接速度測試
用戶連接到Web應用系統的速度根據上網方式的變化而變化,他們或許是電話撥號,或是寬頻上網。當下載一個程序時,用戶可以等較長的時間,但如果僅僅訪問一個頁面就不會這樣。如果Web系統響應時間太長(例如超過5秒鍾),用戶就會因沒有耐心等待而離開。另外,有些頁面有超時的限制,如果響應速度太慢,用戶可能還沒來得及瀏覽內容,就需要重新登陸了。而且,連接速度太慢,還可能引起數據丟失,使用戶得不到真實的頁面。
2、負載測試
負載測試是為了測量Web系統在某一負載級別上的性能,以保證Web系統在需求范圍內能正常工作。負載級別可以是某個時刻同時訪問Web系統的用戶數量,也可以是在線數據處理的數量。例如:Web應用系統能允許多少個用戶同時在線?如果超過了這個數量,會出現什麼現象?Web應用系統能否處理大量用戶對同一個頁面的請求?
3、壓力測試
負載測試應該安排在Web系統發布以後,在實際的網路環境中進行測試。因為一個企業內部員工,特別是項目組人員總是有限的,而一個Web系統能同時處理的請求數量將遠遠超出這個限度,所以,只有放在Internet上,接受負載測試,其結果才是正確可信的。進行壓力測試是指實際破壞一個Web應用系統,測試系統的反映。壓力測試是測試系統的限制和故障恢復能力,也就是測試Web應用系統會不會崩潰,在什麼情況下會崩潰。黑客常常提供錯誤的數據負載,直到Web應用系統崩潰,接著當系統重新啟動時獲得存取權。壓力測試的區域包括表單、登陸和其他信息傳輸頁面等。
三、可用性測試
1、導航測試
導航描述了用戶在一個頁面內操作的方式,在不同的用戶介面控制之間,例如按鈕、對話框、列表和窗口等;或在不同的連接頁面之間。通過考慮下列問題,可以決定一個Web應用系統是否易於導航:導航是否直觀?Web系統的主要部分是否可通過主頁存取?Web系統是否需要站點地圖、搜索引擎或其他的導航幫助?
在一個頁面上放太多的信息往往起到與預期相反的效果。Web應用系統的用戶趨向於目的驅動,很快地掃描一個Web應用系統,看是否有滿足自己需要的信息,如果沒有,就會很快地離開。很少有用戶願意花時間去熟悉Web應用系統的結構,因此,Web應用系統導航幫助要盡可能地准確。導航的另一個重要方面是Web應用系統的頁面結構、導航、菜單、連接的風格是否一致。確保用戶憑直覺就知道Web應用系統裡面是否還有內容,內容在什麼地方。Web應用系統的層次一旦決定,就要著手測試用戶導航功能,讓最終用戶參與這種測試,效果將更加明顯。
2、圖形測試
在Web應用系統中,適當的圖片和動畫既能起到廣告宣傳的作用,又能起到美化頁面的功能。一個Web應用系統的圖形可以包括圖片、動畫、邊框、顏色、字體、背景、按鈕等。圖形測試的內容有:
(1)要確保圖形有明確的用途,圖片或動畫不要胡亂地堆在一起,以免浪費傳輸時間。Web應用系統的圖片尺寸要盡量地小,並且要能清楚地說明某件事情,一般都鏈接到某個具體的頁面。
(2)驗證所有頁面字體的風格是否一致。
(3)背景顏色應該與字體顏色和前景顏色相搭配。
(4)圖片的大小和質量也是一個很重要的因素,一般採用JPG或GIF壓縮。
3、內容測試
內容測試用來檢驗Web應用系統提供信息的正確性、准確性和相關性。信息的正確性是指信息是可靠的還是誤傳的。例如,在商品價格列表中,錯誤的價格可能引起財政問題甚至導致法律糾紛;信息的准確性是指是否有語法或拼寫錯誤。這種測試通常使用一些文字處理軟體來進行,例如使用Microsoft Word的"拼音與語法檢查"功能;信息的相關性是指是否在當前頁面可以找到與當前瀏覽信息相關的信息列表或入口,也就是一般Web站點中的所謂"相關文章列表"。
4、整體界面測試
整體界面是指整個Web應用系統的頁面結構設計,是給用戶的一個整體感。例如:當用戶瀏覽Web應用系統時是否感到舒適,是否憑直覺就知道要找的信息在什麼地方?整個Web應用系統的設計風格是否一致?對整體界面的測試過程,其實是一個對最終用戶進行調查的過程。一般Web應用系統採取在主頁上做一個調查問卷的形式,來得到最終用戶的反饋信息。對所有的可用性測試來說,都需要有外部人員(與Web應用系統開發沒有聯系或聯系很少的人員)的參與,最好是最終用戶的參與。
四、客戶端兼容性測試
1、平台測試
市場上有很多不同的操作系統類型,最常見的有Windows、Unix、Macintosh、Linux等。Web應用系統的最終用戶究竟使用哪一種操作系統,取決於用戶系統的配置。這樣,就可能會發生兼容性問題,同一個應用可能在某些操作系統下能正常運行,但在另外的操作系統下可能會運行失敗。因此,在Web系統發布之前,需要在各種操作系統下對Web系統進行兼容性測試。
2、瀏覽器測試
瀏覽器是Web客戶端最核心的構件,來自不同廠商的瀏覽器對Java,、javascript、 ActiveX、 plug-ins或不同的HTML規格有不同的支持。例如,ActiveX是Microsoft的產品,是為Internet Explorer而設計的,javascript是Netscape的產品,Java是Sun的產品等等。另外,框架和層次結構風格在不同的瀏覽器中也有不同的顯示,甚至根本不顯示。不同的瀏覽器對安全性和Java的設置也不一樣。測試瀏覽器兼容性的一個方法是創建一個兼容性矩陣。在這個矩陣中,測試不同廠商、不同版本的瀏覽器對某些構件和設置的適應性。
五、安全性測試
Web應用系統的安全性測試區域主要有:
(1)現在的Web應用系統基本採用先注冊,後登陸的方式。因此,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登陸而直接瀏覽某個頁面等。
(2)Web應用系統是否有超時的限制,也就是說,用戶登陸後在一定時間內(例如15分鍾)沒有點擊任何頁面,是否需要重新登陸才能正常使用。
(3)為了保證Web應用系統的安全性,日誌文件是至關重要的。需要測試相關信息是否寫進了日誌文件、是否可追蹤。
(4)當使用了安全套接字時,還要測試加密是否正確,檢查信息的完整性。
(5)伺服器端的腳本常常構成安全漏洞,這些漏洞又常常被黑客利用。所以,還要測試沒有經過授權,就不能在伺服器端放置和編輯腳本的問題。
六、總結
本文從功能、性能、可用性、客戶端兼容性、安全性等方面討論了基於Web的系統測試方法。基於Web的系統測試與傳統的軟體測試既有相同之處,也有不同的地方,對軟體測試提出了新的挑戰。基於Web的系統測試不但需要檢查和驗證是否按照設計的要求運行,而且還要評價系統在不同用戶的瀏覽器端的顯示是否合適。重要的是,還要從最終用戶的角度進行安全性和可用性測試。
❽ web安全設計--輸入驗證--標准化問題
比如提交表單後向user.asp提交兩個值
id
psw
就會形成如同
user.asp?id=wo&&psw=psw
的地址請求(一般使用post,就看不到?後面的)
這樣的話如果我們直接在瀏覽器中輸入
usre.asp?id=*&&psw=*
的話在伺服器端肯定能得到一條記錄
如果伺服器端依據有沒有返回記錄來判斷用戶的輸入是否正確
那麼這個鏈接就是正確的
就會認為用戶已經通過了驗證
不是很清楚
大意是這樣的
至於我寫的鏈接等只是表明一個意思
並不是代表實際是這樣的
❾ Web應用常見的安全漏洞有哪些
Web應用常見的安全漏洞:
1、SQL注入
注入是一個安全漏洞,允許攻擊者通過操縱用戶提供的數據來更改後端SQL語句。當用戶輸入作為命令或查詢的一部分被發送到解釋器並且欺騙解釋器執行非預期的命令並且允許訪問未授權的數據時,發生注入。
2、跨站腳本攻擊 (XSS)
XSS漏洞針對嵌入在客戶端(即用戶瀏覽器而不是伺服器端)的頁面中嵌入的腳本。當應用程序獲取不受信任的數據並將其發送到Web瀏覽器而未經適當驗證時,可能會出現這些缺陷。
3、跨站點請求偽造
CSRF攻擊是指惡意網站,電子郵件或程序導致用戶的瀏覽器在用戶當前已對其進行身份驗證的受信任站點上執行不需要的操作時發生的攻擊。
4、無法限制URL訪問
Web應用程序在呈現受保護的鏈接和按鈕之前檢查URL訪問許可權 每次訪問這些頁面時,應用程序都需要執行類似的訪問控制檢查。通過智能猜測,攻擊者可以訪問許可權頁面。攻擊者可以訪問敏感頁面,調用函數和查看機密信息。
5、不安全的加密存儲
不安全的加密存儲是一種常見的漏洞,在敏感數據未安全存儲時存在。用戶憑據,配置文件信息,健康詳細信息,信用卡信息等屬於網站上的敏感數據信息。
(9)web應用中使用最為廣泛的驗證擴展閱讀
web應用漏洞發生的市場背景:
由於Web伺服器提供了幾種不同的方式將請求轉發給應用伺服器,並將修改過的或新的網頁發回給最終用戶,這使得非法闖入網路變得更加容易。
許多程序員不知道如何開發安全的應用程序。他們的經驗也許是開發獨立應用程序或Intranet Web應用程序,這些應用程序沒有考慮到在安全缺陷被利用時可能會出現災難性後果。
許多Web應用程序容易受到通過伺服器、應用程序和內部已開發的代碼進行的攻擊。這些攻擊行動直接通過了周邊防火牆安全措施,因為埠80或443(SSL,安全套接字協議層)必須開放,以便讓應用程序正常運行。
❿ 計算機網路安全技術試題
1. 最有效的保護E-mail的方法是使用加密簽字,如( B ),來驗證E-mail信息。通過驗證E-mail信息,可以保證信息確實來自發信人,並保證在傳輸過程沒有被修改。
A. Diffie-Hellman
B. Pretty Good Privacy(PGP)
C. Key Distribution Center(KDC)
D. IDEA
2. 黑客要想控制某些用戶,需要把木馬程序安裝到用戶的機器中,實際上安裝的是(B)
A. 木馬的控制端程序
B. 木馬的伺服器端程序
C. 不用安裝
D. 控制端、服務端程序都必需安裝
3. 下列不屬於包過濾檢查的是(D)
A. 源地址和目標地址
B. 源埠和目標埠
C. 協議
D. 數據包的內容
4. 代理服務作為防火牆技術主要在OSI的哪一層實現(A)
A. 數據鏈路層
B. 網路層
C. 表示層
D. 應用層
5. 加密在網路上的作用就是防止有價值的信息在網上被( D本題答案說法不一個人認為是D)。
A. 攔截和破壞
B. 攔截和竊取
C. 篡改和損壞
D. 篡改和竊取
6. 按照可信計算機評估標准,安全等級滿足C2級要求的操作系統是(D)
A. DOS
B. Windows XP
C. Windows NT
D. Unix
7. 下面關於口令的安全描述中錯誤的是(B和D說的都不是很正確。。)`
A. 口令要定期更換
B. 口令越長越安全
C. 容易記憶的口令不安全
D. 口令中使用的字元越多越不容易被猜中
8. 不對稱加密通信中的用戶認證是通過(B)確定的
A. 數字簽名
B. 數字證書
C. 消息文摘
D. 公私鑰關系
9. 對於IP欺騙攻擊,過濾路由器不能防範的是( D ) 。
A.偽裝成內部主機的外部IP欺騙
B.外部主機的IP欺騙
C.偽裝成外部可信任主機的IP欺騙
D.內部主機對外部網路的IP地址欺騙
10.RSA加密演算法不具有的優點是(D)
A.可藉助CA中心發放密鑰,確保密鑰發放的安全方便
B.可進行用戶認證
C.可進行信息認證
D.運行速度快,可用於大批量數據加密
11.PGP加密軟體採用的加密演算法(C)
A.DES
B.RSA
C.背包演算法
D.IDEA
12.以下說法正確的是(D)
A.木馬不像病毒那樣有破壞性
B.木馬不像病毒那樣能夠自我復制
C.木馬不像病毒那樣是獨立運行的程序
D.木馬與病毒都是獨立運行的程序
13.使用防病毒軟體時,一般要求用戶每隔2周進行升級,這樣做的目的是(C)
A.對付最新的病毒,因此需要下載最新的程序
B.程序中有錯誤,所以要不斷升級,消除程序中的BUG
C.新的病毒在不斷出現,因此需要用及時更新病毒的特徵碼資料庫
D.以上說法的都不對
14.防火牆的安全性角度,最好的防火牆結構類型是(D)
A.路由器型
B.伺服器型
C.屏蔽主機結構
D.屏蔽子網結構
剩下的由高人來補。