【模板】web用用安全測(cè)試規(guī)范_第1頁(yè)
【模板】web用用安全測(cè)試規(guī)范_第2頁(yè)
【模板】web用用安全測(cè)試規(guī)范_第3頁(yè)
【模板】web用用安全測(cè)試規(guī)范_第4頁(yè)
【模板】web用用安全測(cè)試規(guī)范_第5頁(yè)
已閱讀5頁(yè),還剩89頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

DKBA華為技術(shù)有限公司內(nèi)部技術(shù)規(guī)范DKBA2355-2009.7Web應(yīng)用安全測(cè)試規(guī)范V1.420220年7月5日發(fā)布2020年7月5日實(shí)施華為技術(shù)有限公司HuaweiTechnologiesCo.,Ltd.版權(quán)所有侵權(quán)必究Allrightsreserved修訂聲明Revisiondeclaration本規(guī)范擬制與解釋部門(mén):安全解決方案部電信網(wǎng)絡(luò)與業(yè)務(wù)安全實(shí)驗(yàn)室、軟件公司安全TMG、軟件公司測(cè)試業(yè)務(wù)管理部本規(guī)范的相關(guān)系列規(guī)范或文件:《Web應(yīng)用安全開(kāi)發(fā)規(guī)范》相關(guān)國(guó)際規(guī)范或文件一致性:《OWASPTestingGuidev3》《信息安全技術(shù)信息安全風(fēng)險(xiǎn)評(píng)估指南》《InformationtechnologySecuritytechniquesManagementofinformationandcommunicationstechnologysecurity》-ISO13335替代或作廢的其它規(guī)范或文件:無(wú)相關(guān)規(guī)范或文件的相互關(guān)系:本規(guī)范以《Web應(yīng)用安全開(kāi)發(fā)規(guī)范》為基礎(chǔ)、結(jié)合Web應(yīng)用的特點(diǎn)而制定。版本號(hào)主要起草部門(mén)專(zhuān)家主要評(píng)審部門(mén)專(zhuān)家修訂情況V1.1安全解決方案:趙武、呂曉雨56987、王歡00104062業(yè)務(wù)與軟件測(cè)試部系統(tǒng)部:孟詠喜00137435安全解決方案:劉海軍、吳宇翔、吳海翔、楊光磊、宋柳松、梁業(yè)金、姜凡業(yè)務(wù)與軟件:何偉祥、劉高峰、龔連陽(yáng)、許汝波、王娟娟、龔小華、王向輝、李磊、楊曉峰網(wǎng)絡(luò)解決方案驗(yàn)證部:張喆核心網(wǎng):車(chē)廣芳、蘇三、劉京、凍良V1.2何偉祥33428劉高峰、吳宇翔、楊光磊、王歡、胡坤紅、張偉、孟詠喜、成慶華、黎迎斌、周鵬、張喆、文桂林、張理、姜永章、蘇燕魯增加WebService、上傳、下載、控制臺(tái)等方面的測(cè)試規(guī)范,更正V1.1一些描述不準(zhǔn)確的測(cè)試項(xiàng)V1.3何偉祥00162822劉高峰、胡坤紅、張偉增加“會(huì)話固定”、“審計(jì)日志”、“DWR”的安全測(cè)試規(guī)范,完善驗(yàn)證碼安全測(cè)試的方法。V1.4劉振南00264924胡坤紅、張偉、宋飛、夏成林、王歡、沈海濤、錢(qián)育波、石功新增以下內(nèi)容:3.3.5SEC_Web_DIR_05_02版本控制軟件SVN備份文件測(cè)試

3.5.8會(huì)話標(biāo)識(shí)隨機(jī)性測(cè)試

3.6.3跨站偽造請(qǐng)求測(cè)試

3.9.2LDAP注入測(cè)試

3.9.5回車(chē)換行符(CRLF)注入測(cè)試

3.9.6XML注入測(cè)試

3.13SEC_Web_SERVICE_02WebService測(cè)試

3.15HTML5安全測(cè)試

3.16FLASH安全配置測(cè)試

3.17.3WEB部署與管理測(cè)試

3.17.4Struts2框架測(cè)試

5.2HTML5新增標(biāo)簽

目錄TableofContents1 概述 91.1 背景簡(jiǎn)介 91.2 適用讀者 91.3 適用范圍 91.4 安全測(cè)試在IPD流程中所處的位置 101.5 安全測(cè)試與安全風(fēng)險(xiǎn)評(píng)估的關(guān)系說(shuō)明 101.6 注意事項(xiàng) 111.7 測(cè)試用例級(jí)別說(shuō)明 112 測(cè)試過(guò)程示意圖 123 Web安全測(cè)試規(guī)范 133.1 自動(dòng)化Web漏洞掃描工具測(cè)試 133.1.1 AppScanapplication掃描測(cè)試 143.1.2 AppScanWebService掃描測(cè)試 153.2 服務(wù)器信息收集 153.2.1 運(yùn)行帳號(hào)權(quán)限測(cè)試 153.2.2 Web服務(wù)器端口掃描 163.2.3 HTTP方法測(cè)試 163.2.4 HTTPPUT方法測(cè)試 173.2.5 HTTPDELETE方法測(cè)試 183.2.6 HTTPTRACE方法測(cè)試 193.2.7 HTTPMOVE方法測(cè)試 203.2.8 HTTPCOPY方法測(cè)試 203.2.9 Web服務(wù)器版本信息收集 213.3 文件、目錄測(cè)試 223.3.1 工具方式的敏感接口遍歷 223.3.2 Robots方式的敏感接口查找 243.3.3 Web服務(wù)器的控制臺(tái) 253.3.4 目錄列表測(cè)試 273.3.5 文件歸檔測(cè)試 293.4 認(rèn)證測(cè)試 303.4.1 驗(yàn)證碼測(cè)試 303.4.2 認(rèn)證錯(cuò)誤提示 313.4.3 鎖定策略測(cè)試 323.4.4 認(rèn)證繞過(guò)測(cè)試 333.4.5 找回密碼測(cè)試 333.4.6 修改密碼測(cè)試 343.4.7 不安全的數(shù)據(jù)傳輸 353.4.8 強(qiáng)口令策略測(cè)試 363.5 會(huì)話管理測(cè)試 373.5.1 身份信息維護(hù)方式測(cè)試 373.5.2 Cookie存儲(chǔ)方式測(cè)試 383.5.3 用戶注銷(xiāo)登陸的方式測(cè)試 383.5.4 注銷(xiāo)時(shí)會(huì)話信息是否清除測(cè)試 393.5.5 會(huì)話超時(shí)時(shí)間測(cè)試 403.5.6 會(huì)話定置測(cè)試 403.5.7 會(huì)話標(biāo)識(shí)攜帶 413.5.8 會(huì)話標(biāo)識(shí)隨機(jī)性測(cè)試 423.6 權(quán)限管理測(cè)試 463.6.1 橫向測(cè)試 473.6.2 縱向測(cè)試 493.6.3 跨站偽造請(qǐng)求測(cè)試 543.7 文件上傳下載測(cè)試 563.7.1 文件上傳測(cè)試 563.7.2 文件下載測(cè)試 573.8 信息泄漏測(cè)試 593.8.1 連接數(shù)據(jù)庫(kù)的帳號(hào)密碼加密測(cè)試 593.8.2 客戶端源代碼敏感信息測(cè)試 593.8.3 客戶端源代碼注釋測(cè)試 603.8.4 異常處理 603.8.5 HappyAxis.jsp頁(yè)面測(cè)試 623.8.6 Web服務(wù)器狀態(tài)信息測(cè)試 633.8.7 不安全的存儲(chǔ) 633.9 輸入數(shù)據(jù)測(cè)試 643.9.1 SQL注入測(cè)試 643.9.2 LDAP注入測(cè)試 663.9.3 MML語(yǔ)法注入 663.9.4 命令執(zhí)行測(cè)試 673.9.5 回車(chē)換行符(CRLF)注入測(cè)試 683.9.6 XML注入測(cè)試 703.10 跨站腳本測(cè)試 733.10.1 GET方式跨站腳本測(cè)試 733.10.2 POST方式跨站腳本測(cè)試 743.10.3 URL跨站腳本測(cè)試 753.11 邏輯測(cè)試 763.12 搜索引擎信息收集 763.13 WebService測(cè)試 773.14 DWR(DirectWebRemoting)測(cè)試 813.15 HTML5安全測(cè)試 833.15.1 跨域資源共享測(cè)試 833.15.2 Web客戶端存儲(chǔ)安全測(cè)試 863.15.3 WebWorker安全測(cè)試 893.16 FLASH安全配置測(cè)試 903.17 其他 913.17.1 日志審計(jì) 913.17.2 class文件反編譯測(cè)試 923.17.3 WEB部署與管理測(cè)試 923.17.4 Struts2框架測(cè)試 934 AppScan測(cè)試覆蓋項(xiàng)說(shuō)明 955 附件 965.1 本規(guī)范所涉及的測(cè)試工具 965.2 HTML5新增標(biāo)簽 965.2.1 結(jié)構(gòu)標(biāo)簽 965.2.2 多媒體標(biāo)簽 975.2.3 Web應(yīng)用標(biāo)簽 975.2.4 其他標(biāo)簽 97

Web安全測(cè)試規(guī)范縮略語(yǔ)清單縮略語(yǔ)全稱(chēng)CRLF\r\n回車(chē)換行LDAPLightweight

Directory

Access

Protocol輕量級(jí)目錄訪問(wèn)協(xié)議MMLman-machinelanguage人機(jī)交互語(yǔ)言SessionID標(biāo)志會(huì)話的IDWebServiceWeb服務(wù)是一種面向服務(wù)的架構(gòu)的技術(shù),通過(guò)標(biāo)準(zhǔn)的Web協(xié)議提供服務(wù),目的是保證不同平臺(tái)的應(yīng)用服務(wù)可以互操作。SOAPSimpleObjectAccessProtocol簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議XSSCrossSiteScripting跨站腳本CSRFCrossSiteRequestForgery跨站請(qǐng)求偽造

概述背景簡(jiǎn)介在Internet大眾化、Web技術(shù)飛速演變、黑客工具日益普及的今天,針對(duì)Web的攻擊和破壞不斷增多,在線安全面臨日益嚴(yán)峻的挑戰(zhàn),安全風(fēng)險(xiǎn)達(dá)到了前所未有的高度。為了規(guī)避Web安全風(fēng)險(xiǎn)、規(guī)范Web安全開(kāi)發(fā),公司已經(jīng)制定并發(fā)布了《Web應(yīng)用安全開(kāi)發(fā)規(guī)范》;但如何系統(tǒng)的進(jìn)行Web安全性測(cè)試,目前缺少相應(yīng)的理論和方法支撐。為此,我們制定《Web安全測(cè)試規(guī)范》,本規(guī)范可讓測(cè)試人員針對(duì)Web常見(jiàn)安全漏洞或攻擊方式,系統(tǒng)的對(duì)被測(cè)Web系統(tǒng)進(jìn)行快速安全性測(cè)試。適用讀者本規(guī)范的讀者及使用對(duì)象主要為Web相關(guān)的測(cè)試人員、開(kāi)發(fā)人員、專(zhuān)職的安全測(cè)試評(píng)估人員等。適用范圍本規(guī)范主要針對(duì)基于通用服務(wù)器的Web應(yīng)用系統(tǒng),其他Web系統(tǒng)也可以參考,如基于嵌入式系統(tǒng)的Web維護(hù)接口等。如下圖例說(shuō)明了一種典型的基于通用服務(wù)器的Web應(yīng)用系統(tǒng):Web應(yīng)用Web應(yīng)用應(yīng)用服務(wù)器UniportalJBoss……客戶端Web服務(wù)器IISApache……數(shù)據(jù)庫(kù)服務(wù)器OracleDB2……本規(guī)范中的方法以攻擊性測(cè)試為主。除了覆蓋業(yè)界常見(jiàn)的Web安全測(cè)試方法以外,也借鑒了一些業(yè)界最佳安全實(shí)踐,涵蓋Web安全開(kāi)發(fā)規(guī)范的內(nèi)容。安全測(cè)試在IPD流程中所處的位置一般建議在TR4前根據(jù)產(chǎn)品實(shí)現(xiàn)架構(gòu)及安全需求,完成Web安全性測(cè)試需求分析和測(cè)試設(shè)計(jì),準(zhǔn)備好Web安全測(cè)試用例。在TR4版本正式轉(zhuǎn)測(cè)試后,即可進(jìn)行Web安全測(cè)試。如果產(chǎn)品質(zhì)量不穩(wěn)定,前期功能性問(wèn)題較多,則可適當(dāng)推后Web安全測(cè)試執(zhí)行,但最遲不得超過(guò)TR5。安全測(cè)試與安全風(fēng)險(xiǎn)評(píng)估的關(guān)系說(shuō)明安全風(fēng)險(xiǎn)是指威脅利用脆弱性對(duì)目標(biāo)系統(tǒng)造成安全影響的可能性及嚴(yán)重程度。其中威脅(Threat)是指可能對(duì)目標(biāo)系統(tǒng)造成損害的潛在原因,包括物理環(huán)境威脅、人為威脅等。脆弱性(Vulnerability)也稱(chēng)弱點(diǎn),是應(yīng)用系統(tǒng)本身存在的,包括系統(tǒng)實(shí)現(xiàn)中的缺陷、配置中的弱點(diǎn)等。外部威脅利用系統(tǒng)的脆弱性達(dá)到破壞系統(tǒng)安全運(yùn)行的目的。本規(guī)范所描述的安全測(cè)試僅是安全風(fēng)險(xiǎn)評(píng)估中的一個(gè)活動(dòng),對(duì)應(yīng)于安全風(fēng)險(xiǎn)評(píng)估過(guò)程中的脆弱性識(shí)別部分,特別是技術(shù)性的脆弱性識(shí)別。完整的安全風(fēng)險(xiǎn)評(píng)估過(guò)程、概念見(jiàn)GB/T20984-2007《信息安全技術(shù)信息安全風(fēng)險(xiǎn)評(píng)估規(guī)范》。注意事項(xiàng)Web安全測(cè)試的執(zhí)行,對(duì)于被測(cè)系統(tǒng),或多或少都會(huì)存在一些影響(比如性能、垃圾數(shù)據(jù)),建議只在測(cè)試環(huán)境中進(jìn)行;如果一定要在現(xiàn)網(wǎng)運(yùn)行環(huán)境中執(zhí)行,那么務(wù)必配置專(zhuān)門(mén)的測(cè)試數(shù)據(jù),測(cè)試執(zhí)行是應(yīng)該非常慎重,只能修改或刪除這些測(cè)試數(shù)據(jù),禁止修改、刪除現(xiàn)網(wǎng)其他數(shù)據(jù)。本規(guī)范最主要目的是為了發(fā)現(xiàn)安全弱點(diǎn),至于發(fā)現(xiàn)一個(gè)弱點(diǎn)以后更深一步的滲透測(cè)試在這里不會(huì)涉及。例如針對(duì)暴力破解測(cè)試,我們只給出驗(yàn)證存在暴力破解漏洞的可能,但不會(huì)提供暴力破解的方法。本文檔中所有提及的測(cè)試工具的申請(qǐng)和使用,請(qǐng)遵循公司信息安全相關(guān)規(guī)定。如果是內(nèi)部試驗(yàn)環(huán)境進(jìn)行測(cè)試,可以考慮去除一些防護(hù)措施或設(shè)備(如防火墻),這樣能保證發(fā)現(xiàn)問(wèn)題的全面性。本文檔根據(jù)最嚴(yán)格的方式對(duì)目標(biāo)進(jìn)行測(cè)試,如果產(chǎn)品線對(duì)安全的要求不高且有自身的安全策略規(guī)定時(shí),可以視情況對(duì)測(cè)試項(xiàng)進(jìn)行部分測(cè)試。例如密碼策略測(cè)試項(xiàng)中,測(cè)試人員可以根據(jù)測(cè)試目標(biāo)的密碼位數(shù)要求進(jìn)行測(cè)試,而不需要完全依照測(cè)試項(xiàng)里面規(guī)定的位數(shù)進(jìn)行測(cè)試。測(cè)試用例級(jí)別說(shuō)明一個(gè)安全漏洞的風(fēng)險(xiǎn)程度受危害程度和概率的影響,我們定義了如下所示的關(guān)系:危害程度 發(fā)生概率高中低高高高中中高中低低中低低表1風(fēng)險(xiǎn)等級(jí)界定表本測(cè)試規(guī)范用例根據(jù)上面的定義分為四個(gè)測(cè)試級(jí)別:測(cè)試用例級(jí)別說(shuō)明1基本:該類(lèi)用例涉及可能導(dǎo)致風(fēng)險(xiǎn)程度為高的安全漏洞,在任何情況下都必須進(jìn)行測(cè)試。2重要:該類(lèi)用例涉及可能導(dǎo)致風(fēng)險(xiǎn)程度為中的安全漏洞,在條件允許(時(shí)間、人力充沛)情況下必須進(jìn)行測(cè)試。3一般:該類(lèi)用例涉及可能導(dǎo)致風(fēng)險(xiǎn)程度為低的安全漏洞,測(cè)試結(jié)果可能對(duì)其他測(cè)試有幫助。測(cè)試與否根據(jù)業(yè)務(wù)系統(tǒng)的重要性來(lái)判斷。4生僻:該類(lèi)用例涉及可能導(dǎo)致風(fēng)險(xiǎn)程度為極低的安全漏洞,攻擊者只能收集到很少且無(wú)關(guān)緊要的信息。一般情況下不建議進(jìn)行測(cè)試。表2測(cè)試級(jí)別說(shuō)明表測(cè)試過(guò)程示意圖本測(cè)試主要包括主動(dòng)模式和被動(dòng)模式兩種。在被動(dòng)模式中,測(cè)試人員盡可能的了解應(yīng)用邏輯:比如用工具分析所有的HTTP請(qǐng)求及響應(yīng),以便測(cè)試人員掌握應(yīng)用程序所有的接入點(diǎn)(包括HTTP頭,參數(shù),cookies等);在主動(dòng)模式中,測(cè)試人員試圖以黑客的身份來(lái)對(duì)應(yīng)用及其系統(tǒng)、后臺(tái)等進(jìn)行滲透測(cè)試,其可能造成的影響主要是數(shù)據(jù)破壞、拒絕服務(wù)等。一般測(cè)試人員需要先熟悉目標(biāo)系統(tǒng),即被動(dòng)模式下的測(cè)試,然后再開(kāi)展進(jìn)一步的分析,即主動(dòng)模式下的測(cè)試。主動(dòng)測(cè)試會(huì)與被測(cè)目標(biāo)進(jìn)行直接的數(shù)據(jù)交互,而被動(dòng)測(cè)試不需要。造成的影響造成的影響主動(dòng)模式被動(dòng)模式初始化完成Web結(jié)構(gòu)獲取權(quán)限測(cè)試歸檔測(cè)試參數(shù)分析異常處理注入測(cè)試命令執(zhí)行文件包含跨站腳本信息竊取備份文件后臺(tái)查找目錄列表會(huì)話管理信息泄漏數(shù)據(jù)破壞拒絕服務(wù)信息獲取熟悉業(yè)務(wù)邏輯GoogleHacking接口測(cè)試認(rèn)證測(cè)試暴力破解認(rèn)證繞過(guò)邏輯處理越權(quán)操作身份仿冒日志檢查拒絕服務(wù)上傳下載Web安全測(cè)試規(guī)范自動(dòng)化Web漏洞掃描工具測(cè)試自動(dòng)化掃描工具只能檢測(cè)到部分常見(jiàn)的漏洞(如跨站腳本、SQL注入等),不是針對(duì)用戶代碼的,也就是說(shuō)不能理解業(yè)務(wù)邏輯,無(wú)法對(duì)這些漏洞做進(jìn)一步業(yè)務(wù)上的判斷。往往最嚴(yán)重的安全問(wèn)題并不是常見(jiàn)的漏洞,而是通過(guò)這些漏洞針對(duì)業(yè)務(wù)邏輯和應(yīng)用的攻擊。Web目前分為application和Webservice兩部分。Application指通常意義上的Web應(yīng)用,而Webservice是一種面向服務(wù)的架構(gòu)的技術(shù),通過(guò)標(biāo)準(zhǔn)的Web協(xié)議(如HTTP、XML、SOAP、WSDL)提供服務(wù)。AppScanapplication掃描測(cè)試編號(hào)SEC_Web_TOOL_01測(cè)試用例名稱(chēng)AppScanapplication掃描測(cè)試測(cè)試目的利用自動(dòng)化的Web安全掃描工具AppScan進(jìn)行掃描,以發(fā)現(xiàn)Web應(yīng)用中存在的常見(jiàn)漏洞用例級(jí)別1測(cè)試條件已知Web服務(wù)器域名或IP地址Web業(yè)務(wù)運(yùn)行正常測(cè)試用機(jī)上安裝了AppScan執(zhí)行步驟雙擊運(yùn)行AppScan,選擇新建掃描,選擇掃描模板default彈出掃描配置對(duì)話框,選擇掃描類(lèi)型,默認(rèn)為WebApplicationScan,點(diǎn)擊next在StartingURL中填入需掃描的目標(biāo)服務(wù)器域名或IP地址,其他配置不需修改,點(diǎn)擊next選擇NoLogin,點(diǎn)擊next不需修改任何參數(shù),點(diǎn)擊next不需修改參數(shù),選擇Startafullautomaticscan,點(diǎn)擊finish完成配置,開(kāi)始掃描掃描完成,保存掃描結(jié)果,并對(duì)結(jié)果進(jìn)行分析預(yù)期結(jié)果經(jīng)過(guò)對(duì)掃描結(jié)果分析,確認(rèn)不存在“中等等級(jí)”及以上級(jí)別的漏洞。備注注意:該用例的執(zhí)行對(duì)被測(cè)系統(tǒng)的性能影響比較大,而且可能導(dǎo)致一些垃圾數(shù)據(jù),建議只在測(cè)試環(huán)境執(zhí)行。由于自動(dòng)化工具在很多情況下只是提示一種漏洞存在的可能,因此需要對(duì)所有的結(jié)果進(jìn)行人工的分析判斷。分析過(guò)程參考以下章節(jié)的測(cè)試項(xiàng),使用輔助工具或者是手動(dòng)驗(yàn)證。業(yè)界常用的自動(dòng)化掃描工具還有WebInspcet,NStalker,AcunetixWebVulnerabilityScanner。在有條件的情況下,可以綜合使用。測(cè)試結(jié)果AppScanWebService掃描測(cè)試編號(hào)SEC_Web_TOOL_02測(cè)試用例名稱(chēng)AppScanWebService掃描測(cè)試測(cè)試目的利用自動(dòng)化的Web安全掃描工具AppScan進(jìn)行掃描,以發(fā)現(xiàn)WebService中存在的漏洞用例級(jí)別1測(cè)試條件已知Web服務(wù)器域名或IP地址Web業(yè)務(wù)運(yùn)行正常目標(biāo)系統(tǒng)使用了WebService服務(wù)測(cè)試用機(jī)上安裝了AppScan執(zhí)行步驟雙擊運(yùn)行AppScan,選擇新建掃描,選擇掃描模板default彈出掃描配置對(duì)話框,選擇掃描類(lèi)型,默認(rèn)為WebServiceScan,點(diǎn)擊next在StartingURL中填入需掃描的目標(biāo)服務(wù)器域名或IP地址,其他配置不需修改,點(diǎn)擊next不需修改任何參數(shù),點(diǎn)擊next不需修改任何參數(shù),點(diǎn)擊Finish完成配置,開(kāi)始掃描掃描完成,保存掃描結(jié)果,并對(duì)結(jié)果進(jìn)行分析預(yù)期結(jié)果經(jīng)過(guò)分析確認(rèn)以后的掃描結(jié)果中不存在信息提示以上等級(jí)的漏洞。備注注意:該用例的執(zhí)行對(duì)被測(cè)系統(tǒng)的性能影響比較大,而且可能導(dǎo)致一些垃圾數(shù)據(jù),建議只在測(cè)試環(huán)境執(zhí)行。由于自動(dòng)化工具在很多情況下只是提示一種漏洞存在的可能,因此需要對(duì)所有的結(jié)果進(jìn)行人工的分析判斷。測(cè)試結(jié)果服務(wù)器信息收集運(yùn)行帳號(hào)權(quán)限測(cè)試編號(hào)SEC_Web_SERVERINFO_01測(cè)試用例名稱(chēng)運(yùn)行帳號(hào)權(quán)限測(cè)試測(cè)試目的運(yùn)行Web服務(wù)器的操作系統(tǒng)帳號(hào)權(quán)限越高,那么Web遭到攻擊產(chǎn)生的危害就越大。因此,不應(yīng)使用“root”、“administrator”、等特權(quán)帳號(hào)或高級(jí)別權(quán)限的操作系統(tǒng)帳號(hào)來(lái)運(yùn)行Web,應(yīng)該盡可能地使用低級(jí)別權(quán)限的操作系統(tǒng)帳號(hào)。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站IP地址和OS登陸帳號(hào)、密碼執(zhí)行步驟登陸Web服務(wù)器操作系統(tǒng)查看運(yùn)行Web服務(wù)器的操作系統(tǒng)帳號(hào),不是“root”、“administrator”等特權(quán)帳號(hào)或高級(jí)別權(quán)限帳號(hào),如果是則存在漏洞。window:打開(kāi)任務(wù)管理器,選擇“進(jìn)程”頁(yè),勾選左下方的“顯示所有用戶的進(jìn)程”,檢查運(yùn)行Web服務(wù)器的帳號(hào);unix:使用“ps–ef|grepjava”命令,返回結(jié)果第一列的操作系統(tǒng)用戶就是運(yùn)行Web服務(wù)器的帳號(hào);預(yù)期結(jié)果沒(méi)有使用“root”、“administrator”等特權(quán)操作系統(tǒng)帳號(hào)運(yùn)行Web。備注測(cè)試結(jié)果Web服務(wù)器端口掃描編號(hào)SEC_Web_SERVERINFO_02測(cè)試用例名稱(chēng)Web服務(wù)器端口掃描測(cè)試目的有時(shí)Web應(yīng)用服務(wù)器除業(yè)務(wù)端口外還會(huì)開(kāi)放一些默認(rèn)端口(如Jboss開(kāi)放的8083),這些默認(rèn)端口對(duì)最終用戶是不需要開(kāi)放的,而且也不會(huì)用于維護(hù),容易被攻擊,本測(cè)試目的在于發(fā)現(xiàn)服務(wù)器上未使用的Web端口。用例級(jí)別1測(cè)試條件已知Web服務(wù)器域名或IP地址,假設(shè)IP地址為測(cè)試用機(jī)安裝了nmap,假設(shè)路徑為d:\nmap執(zhí)行步驟打開(kāi)命令提示符,切換到nmap路徑下,輸入cd/dd:\nmap運(yùn)行nmap–n–P0–sS–sV–p1-65535–oXscan_report.xml使用瀏覽器打開(kāi)scan_report.xml觀察結(jié)果,看是否為必須開(kāi)放的Web服務(wù)端口。預(yù)期結(jié)果系統(tǒng)未開(kāi)放業(yè)務(wù)不需要使用的端口。備注各種參數(shù)掃描請(qǐng)參考《利用nmap進(jìn)行端口掃描》測(cè)試結(jié)果HTTP方法測(cè)試編號(hào)SEC_Web_SERVERINFO_03測(cè)試用例名稱(chēng)開(kāi)放HTTP方法測(cè)試測(cè)試目的有些Web服務(wù)器默認(rèn)情況下開(kāi)放了一些不必要的HTTP方法(如DELETE、PUT、TRACE、MOVE、COPY),這樣就增加了受攻擊面。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站IP地址及Web訪問(wèn)端口Web業(yè)務(wù)正常運(yùn)行執(zhí)行步驟點(diǎn)擊“開(kāi)始”-“運(yùn)行”,輸入cmd并回車(chē),運(yùn)行cmd.exe輸入telnetIP端口(其中IP和端口按實(shí)際情況填寫(xiě),用空格隔開(kāi))回車(chē)在新行中輸入如下一行,并回車(chē)OPTIONS/HTTP/1.0觀察返回結(jié)果中的Allow的方法列表返回結(jié)果樣例:HTTP/1.1200OKServer:Apache-Coyote/1.1X-Powered-By:Servlet2.4;JBoss-4.0.5.GA(build:CVSTag=Branch_4_0date=2)/Tomcat-5.5Allow:GET,HEAD,POST,PUT,DELETE,TRACE,OPTIONSContent-Length:0Date:Mon,29Jun200908:02:47GMTConnection:close如果返回結(jié)果中包含不安全的HTTP方法(DELETE、PUT、TRACE、MOVE、COPY),則驗(yàn)證這些防范是否可用(參考3.2.4/3.2.5/3.2.6/3.2.7/3.2.8)如果方法可用則說(shuō)明存在漏洞,測(cè)試不通過(guò)。預(yù)期結(jié)果不包含不安全的HTTP方法(如DELETE、PUT、TRACE、MOVE、COPY)備注由于不同的Web服務(wù)器支持的HTTP協(xié)議版本不同,如果系統(tǒng)不支持HTTP/1.0,那么步驟4返回“HTTP/1.0400BadRequest”;這種情況下,應(yīng)該更改步驟4的輸入行為OPTIONS/HTTP/1.1測(cè)試結(jié)果HTTPPUT方法測(cè)試編號(hào)SEC_Web_SERVERINFO_04測(cè)試用例名稱(chēng)HTTPPUT方法測(cè)試測(cè)試目的有些Web服務(wù)器開(kāi)放了PUT方法,攻擊者能夠通過(guò)該方法上傳任意文件到Web服務(wù)器的一些目錄中去。包括Web木馬程序。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站IP地址Web業(yè)務(wù)正常運(yùn)行執(zhí)行步驟點(diǎn)擊“開(kāi)始”-“運(yùn)行”,輸入cmd并回車(chē),運(yùn)行cmd.exe輸入telnetIP端口(其中IP和端口按實(shí)際情況填寫(xiě),用空格隔開(kāi),比如:telnet718080)回車(chē)在新行中拷貝并粘貼以下藍(lán)色內(nèi)容,然后回車(chē)PUT/alert.txtHTTP/1.0Content-Length:16Hackeraccessed!備注:其中“/alert.txt”可以根據(jù)實(shí)際應(yīng)用路徑構(gòu)造,比如“/rbt/alert.txt”打開(kāi)IE訪問(wèn)http://71:8080/alert.txt如果響應(yīng)的頁(yè)面,顯示內(nèi)容是“Hackeraccessed!”,則說(shuō)明文件已創(chuàng)建,Web服務(wù)器開(kāi)放了PUT方法,存在嚴(yán)重安全漏洞。預(yù)期結(jié)果訪問(wèn)不到內(nèi)容為“Hackeraccessed!”的alert.txt文件備注1、由于不同的Web服務(wù)器支持的HTTP協(xié)議版本不同,如果系統(tǒng)不支持HTTP/1.0,那么步驟4返回“HTTP/1.0400BadRequest”;這種情況下,應(yīng)該更改步驟4的輸入行為PUT/alert.txtHTTP/1.12、如果Web服務(wù)器上運(yùn)行著多個(gè)Web應(yīng)用,比如:http://71:8080/application1/http://71:8080/application2/http://71:8080/application3/那么,必須這些應(yīng)用分別進(jìn)行測(cè)試,只需要在步驟4中修改路徑部分,例如:PUT/application3/alert.txtHTTP/1.0Content-Length:16Hackeraccessed!測(cè)試結(jié)果HTTPDELETE方法測(cè)試編號(hào)SEC_Web_SERVERINFO_05測(cè)試用例名稱(chēng)HTTPDELETE方法測(cè)試測(cè)試目的有些Web服務(wù)器開(kāi)放了DELETE方法,攻擊者能夠通過(guò)該方法刪除Web服務(wù)器上的文件。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站IP地址Web業(yè)務(wù)正常運(yùn)行Web網(wǎng)站存在/alert.txt文件(如果沒(méi)有,手工創(chuàng)建)執(zhí)行步驟點(diǎn)擊“開(kāi)始”-“運(yùn)行”,輸入cmd并回車(chē),運(yùn)行cmd.exe輸入telnetIP端口(其中IP和端口按實(shí)際情況填寫(xiě),用空格隔開(kāi),比如:telnet718080)回車(chē)在新行中輸入如下一行,并回車(chē)DELETE/alert.txtHTTP/1.0查看Web服務(wù)器上alert.txt是否被刪除預(yù)期結(jié)果Web服務(wù)器上alert.txt文件依然存在備注1、由于不同的Web服務(wù)器支持的HTTP協(xié)議版本不同,如果系統(tǒng)不支持HTTP/1.0,那么步驟4返回“HTTP/1.0400BadRequest”;這種情況下,應(yīng)該更改步驟4的輸入行為DELETE/alert.txtHTTP/1.12、如果Web服務(wù)器上運(yùn)行著多個(gè)Web應(yīng)用,比如:http://71:8080/application1/http://71:8080/application2/http://71:8080/application3/那么,必須這些應(yīng)用分別進(jìn)行測(cè)試,只需要在步驟4中修改路徑部分,例如:DELETE/application3/alert.txtHTTP/1.1測(cè)試結(jié)果HTTPTRACE方法測(cè)試編號(hào)SEC_Web_SERVERINFO_06測(cè)試用例名稱(chēng)HTTPTRACE方法測(cè)試測(cè)試目的有些Web服務(wù)器開(kāi)放了TRACE方法(主要是用于客戶端通過(guò)向Web服務(wù)器提交TRACE請(qǐng)求來(lái)進(jìn)行測(cè)試或獲得診斷信息),攻擊者能夠通過(guò)該方法構(gòu)造跨站攻擊。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站IP地址Web業(yè)務(wù)正常運(yùn)行執(zhí)行步驟點(diǎn)擊“開(kāi)始”-“運(yùn)行”,輸入cmd并回車(chē),運(yùn)行cmd.exe輸入telnetIP端口(其中IP和端口按實(shí)際情況填寫(xiě),用空格隔開(kāi),比如:telnet80)回車(chē)在新行中輸入如下一行,并回車(chē)TRACE/HTTP/1.0觀察返回結(jié)果預(yù)期結(jié)果Web服務(wù)器的返回信息提示Trace方法“notallowed”備注由于不同的Web服務(wù)器支持的HTTP協(xié)議版本不同,如果系統(tǒng)不支持HTTP/1.0,那么步驟4返回“HTTP/1.0400BadRequest”;這種情況下,應(yīng)該更改步驟4的輸入行為T(mén)RACE/HTTP/1.1測(cè)試結(jié)果HTTPMOVE方法測(cè)試編號(hào)SEC_Web_SERVERINFO_07測(cè)試用例名稱(chēng)HTTPMOVE方法測(cè)試測(cè)試目的有些Web服務(wù)器開(kāi)放了MOVE方法,用于請(qǐng)求服務(wù)器將指定的頁(yè)面移到另一個(gè)網(wǎng)絡(luò)地址,該方法不安全,容易被利用。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站IP地址Web業(yè)務(wù)正常運(yùn)行執(zhí)行步驟點(diǎn)擊“開(kāi)始”-“運(yùn)行”,輸入cmd并回車(chē),運(yùn)行cmd.exe輸入telnetIP端口(其中IP和端口按實(shí)際情況填寫(xiě),用空格隔開(kāi),比如:telnet80)回車(chē)在新行中輸入如下一行,并回車(chē)MOVE/test/a.html/a.htmlHTTP/1.0觀察返回結(jié)果預(yù)期結(jié)果Web服務(wù)器的返回信息提示MOVE方法“notsupported”備注由于不同的Web服務(wù)器支持的HTTP協(xié)議版本不同,如果系統(tǒng)不支持HTTP/1.0,那么步驟4返回“HTTP/1.0400BadRequest”;這種情況下,應(yīng)該更改步驟4的輸入行為MOVE/test/a.html/a.htmlHTTP/1.1測(cè)試結(jié)果HTTPCOPY方法測(cè)試編號(hào)SEC_Web_SERVERINFO_08測(cè)試用例名稱(chēng)HTTPCOPY方法測(cè)試測(cè)試目的有些Web服務(wù)器開(kāi)放了COPY方法,用于請(qǐng)求服務(wù)器將指定的頁(yè)面拷貝到另一個(gè)網(wǎng)絡(luò)地址,該方法不安全,容易被利用。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站IP地址Web業(yè)務(wù)正常運(yùn)行執(zhí)行步驟點(diǎn)擊“開(kāi)始”-“運(yùn)行”,輸入cmd并回車(chē),運(yùn)行cmd.exe輸入telnetIP端口(其中IP和端口按實(shí)際情況填寫(xiě),用空格隔開(kāi),比如:telnet80)回車(chē)在新行中輸入如下一行,并回車(chē)COPY/test/a.html/a.htmlHTTP/1.0觀察返回結(jié)果預(yù)期結(jié)果Web服務(wù)器的返回信息提示COPY方法“notsupported”備注由于不同的Web服務(wù)器支持的HTTP協(xié)議版本不同,如果系統(tǒng)不支持HTTP/1.0,那么步驟4返回“HTTP/1.0400BadRequest”;這種情況下,應(yīng)該更改步驟4的輸入行為COPY/test/a.html/a.htmlHTTP/1.1測(cè)試結(jié)果Web服務(wù)器版本信息收集編號(hào)SEC_Web_SERVERINFO_09測(cè)試用例名稱(chēng)Web服務(wù)器版本信息收集測(cè)試目的一些情況下,Web服務(wù)器能通過(guò)隱藏或者修改banner信息的方式防止黑客攻擊。這時(shí)候我們需要使用不依靠服務(wù)器Server標(biāo)題頭的掃描方式進(jìn)行服務(wù)器類(lèi)型、版本判斷。用例級(jí)別4測(cè)試條件Web業(yè)務(wù)運(yùn)行正常已知Web服務(wù)器域名或IP地址測(cè)試用機(jī)安裝了httprint(Windows環(huán)境)執(zhí)行步驟運(yùn)行Httprint_gui.exe在Host列中輸入主機(jī)域名(如果沒(méi)有域名則輸入IP地址),在端口列中輸入端口號(hào)。如果為HTTPS則要選擇鎖圖標(biāo)下面的選擇框。點(diǎn)擊程序下方的運(yùn)行按鈕觀察程序輸出的結(jié)果預(yù)期結(jié)果不能夠得到Web服務(wù)器準(zhǔn)確的版本信息備注測(cè)試結(jié)果文件、目錄測(cè)試工具方式的敏感接口遍歷編號(hào)SEC_Web_DIR_01測(cè)試用例名稱(chēng)工具方式的敏感接口遍歷測(cè)試目的網(wǎng)站目錄查找是進(jìn)行攻擊的必備知識(shí),只有知道了目錄信息才能確定攻擊的目標(biāo),進(jìn)行目錄查找是測(cè)試的首要階段,一般掃描工具進(jìn)行掃描前首先要進(jìn)行目錄查找。其次對(duì)于某些隱藏的管理接口(目錄或文件),雖然沒(méi)有對(duì)外有明顯的鏈接,但是通過(guò)一系列有特定含義的枚舉是可以訪問(wèn)的。用例級(jí)別2測(cè)試條件Web業(yè)務(wù)運(yùn)行正常已知目標(biāo)網(wǎng)站的域名或IP地址測(cè)試用機(jī)上需安裝JRE測(cè)試用機(jī)上有DirBuster軟件執(zhí)行步驟雙擊運(yùn)行DirBuster.jar在host欄中填入目標(biāo)IP地址或域名,在Port欄中輸入服務(wù)器對(duì)應(yīng)的端口;如果服務(wù)器只接受HTTPS請(qǐng)求,則需要選擇Protocol為HTTPS在listofdirs/files欄后點(diǎn)擊browse,選擇破解的字典庫(kù)為directory-list-2.3-small.txt將中填入正確的文件后綴,默認(rèn)為php,如果為jsp頁(yè)面,需要填入jsp其他選項(xiàng)不變,點(diǎn)擊右下角的start,啟動(dòng)目錄查找觀察返回結(jié)果,可點(diǎn)擊右下角的report,生成目錄報(bào)告預(yù)期結(jié)果經(jīng)過(guò)分析以后的結(jié)果中,業(yè)務(wù)系統(tǒng)不存在不需要對(duì)外開(kāi)放的敏感接口,或者該接口進(jìn)行了完善的權(quán)限控制。備注舉一個(gè)測(cè)試不通過(guò)的例子:TypeFoundResponseFile/admin/adduser.jsp200測(cè)試結(jié)果Robots方式的敏感接口查找編號(hào)SEC_Web_DIR_02測(cè)試用例名稱(chēng)Robots方式的敏感接口查找測(cè)試目的為了防止搜索引擎的爬蟲(chóng)訪問(wèn)敏感的目錄接口,服務(wù)器上可能會(huì)編輯一個(gè)robots.txt文件,內(nèi)容為需要保護(hù)的文件或目錄名稱(chēng)。直接訪問(wèn)robots.txt文件能夠獲取一些可能的敏感接口用例級(jí)別2測(cè)試條件Web業(yè)務(wù)運(yùn)行正常已知待測(cè)目標(biāo)URL,假設(shè)為執(zhí)行步驟嘗試訪問(wèn)robots.txt

例如可能返回如下結(jié)果:

觀察返回結(jié)果預(yù)期結(jié)果通過(guò)robots.txt文件不能獲取敏感的目錄或文件信息。備注敏感目錄舉例:/employee/salary_files/敏感文件舉例:/sys_manager/setup.jsp測(cè)試結(jié)果Web服務(wù)器的控制臺(tái)編號(hào)SEC_Web_DIR_03測(cè)試用例名稱(chēng)Web服務(wù)器的控制臺(tái)測(cè)試目的檢查是否部署了Web服務(wù)器的控制臺(tái),控制臺(tái)是否存在默認(rèn)帳號(hào)、口令,是否存在弱口令。用例級(jí)別1測(cè)試條件Web業(yè)務(wù)運(yùn)行正常已知目標(biāo)網(wǎng)站的域名或IP地址已知Web服務(wù)器版本信息執(zhí)行步驟根據(jù)Web服務(wù)器的版本信息,通過(guò)google查詢其對(duì)應(yīng)的控制臺(tái)URL地址和默認(rèn)的帳號(hào)、口令。以下列出一些常見(jiàn)的Web服務(wù)器控制臺(tái)URL地址和默認(rèn)帳號(hào)、口令:Tomcat控制臺(tái)URL:Tomcat控制臺(tái)默認(rèn)帳號(hào)admin,默認(rèn)密碼tomcat或admin或空Tomcat控制臺(tái)默認(rèn)帳號(hào)tomcat,默認(rèn)密碼tomcatJboss控制臺(tái)URL:Jboss控制臺(tái)URL:Jboss控制臺(tái)默認(rèn)無(wú)須登陸,或者admin/adminWebSphere控制臺(tái)URL:WebSphere默認(rèn)帳號(hào)admin,默認(rèn)密碼adminWebLogic控制臺(tái)URL:(一般console的端口為7001)WebLogic默認(rèn)帳號(hào)weblogic,默認(rèn)密碼weblogicApache控制臺(tái)URL:Axis2控制臺(tái)URL:Axis2控制臺(tái)默認(rèn)口令帳戶:admin/axis2iSAP控制臺(tái)URL:iSAP控制臺(tái)默認(rèn)的帳號(hào)和密碼:admin/adminVirgo控制臺(tái)URL:Virgo控制臺(tái)默認(rèn)的帳號(hào)和密碼:admin/springsourceuniportal控制臺(tái)URL:uniportal控制臺(tái)默認(rèn)的帳號(hào)和密碼:admin/uniportalResin3.0控制臺(tái)URL:Resin3.1及更新版本的控制臺(tái)URL:(Resin的控制臺(tái)應(yīng)該限制只能本機(jī)訪問(wèn),也就是只能從安裝本resin服務(wù)器的機(jī)器上訪問(wèn)對(duì)應(yīng)resin的控制臺(tái))“普元”管理控制臺(tái)URL:“普元”管理控制臺(tái)默認(rèn)的帳號(hào)和密碼:sysadmin/000000在瀏覽器地址欄中輸入Web服務(wù)器對(duì)應(yīng)的URL。由于不同的應(yīng)用可能目錄有所差異,如果訪問(wèn)不到,可以登陸后臺(tái)服務(wù)器以find命令查找,比如find/-name“*console*”,find/-name“*admin*”,看看實(shí)際的URL應(yīng)該是什么,再次嘗試。檢查是否存在Web服務(wù)器控制臺(tái)如果存在控制臺(tái),使用默認(rèn)帳號(hào)、口令登錄,弱口令登錄,查看是否登錄成功,如果可以則存在漏洞。預(yù)期結(jié)果不存在Web服務(wù)器控制臺(tái),或者存在控制臺(tái)但有強(qiáng)口令。備注弱口令例子:123、123456、abc、huawei、admin、tellin、isap、scp等;另外,和用戶名相同或非常接近的口令也屬于弱口令,比如用戶名為tomcat,口令為tomcat1。測(cè)試結(jié)果目錄列表測(cè)試編號(hào)SEC_Web_DIR_04測(cè)試用例名稱(chēng)目錄列表測(cè)試測(cè)試目的目錄列表能夠造成信息泄漏,而且對(duì)于攻擊者而言是非常容易進(jìn)行的。所以在測(cè)試過(guò)程中,我們應(yīng)當(dāng)找出所有的目錄列表漏洞。用例級(jí)別1測(cè)試條件Web業(yè)務(wù)運(yùn)行正常已知目標(biāo)網(wǎng)站的域名或IP地址測(cè)試用機(jī)上需安裝JRE測(cè)試用機(jī)上有DirBuster軟件執(zhí)行步驟雙擊運(yùn)行DirBuster-0.9.8.jar在host欄中填入目標(biāo)IP地址或域名,在Port欄中輸入服務(wù)器對(duì)應(yīng)的端口;如果服務(wù)器只接受HTTPS請(qǐng)求,則需要選擇Protocol為HTTPS在listofdirs/files欄后點(diǎn)擊browse,選擇破解的字典庫(kù)為directory-list-2.3-small.txt:去除BurteForceFiles選項(xiàng)其他選項(xiàng)不變,點(diǎn)擊右下角的start,啟動(dòng)目錄查找依次右擊Response值為200的行,在出現(xiàn)的菜單中點(diǎn)擊OpenInBrowser分析結(jié)果預(yù)期結(jié)果所有對(duì)目錄的訪問(wèn)均不能打印出文件列表。備注測(cè)試結(jié)果文件歸檔測(cè)試編號(hào)SEC_Web_DIR_05_01測(cè)試用例名稱(chēng)文件歸檔測(cè)試測(cè)試目的在網(wǎng)站管理員的維護(hù)過(guò)程中,很多情況下會(huì)對(duì)程序或者頁(yè)面進(jìn)行備份(可能是有意的或者是無(wú)意的,如ultraedit在修改后會(huì)生成文件名加bak后綴的文件)。攻擊者通過(guò)直接訪問(wèn)這些備份的路徑可以下載文件用例級(jí)別1測(cè)試條件擁有運(yùn)行Web服務(wù)器的操作系統(tǒng)帳號(hào)和口令Web業(yè)務(wù)運(yùn)行正常執(zhí)行步驟登陸后臺(tái)Web服務(wù)器的操作系統(tǒng)以cd命令進(jìn)入可以通過(guò)Web方式訪問(wèn)的目錄(比如tomcat服務(wù)器的$home/webapps目錄,jboss服務(wù)器的$home/jboss/server/default/deploy目錄)預(yù)期結(jié)果可以通過(guò)Web方式訪問(wèn)的目錄,不存在開(kāi)發(fā)過(guò)程(包括現(xiàn)場(chǎng)定制)中的產(chǎn)生的臨時(shí)文件、備份文件等。備注測(cè)試結(jié)果編號(hào)SEC_Web_DIR_05_02測(cè)試用例名稱(chēng)版本控制軟件SVN備份文件測(cè)試測(cè)試目的在開(kāi)發(fā)環(huán)境時(shí)常使用版本控制軟件管理代碼,常用的有SVN,SVN在管理代碼的過(guò)程中會(huì)自動(dòng)生成一個(gè)名為.svn的隱藏文件夾,svn目錄下還包含了以.svn-base結(jié)尾的源代碼文件副本。但一些網(wǎng)站管理員在發(fā)布代碼時(shí),不愿意使用‘導(dǎo)出’功能,而是直接復(fù)制代碼文件夾到WEB服務(wù)器上,這就使.svn隱藏文件夾被暴露于外網(wǎng)環(huán)境,黑客可以借助其中包含的用于版本信息追蹤的‘entries’文件,逐步摸清站點(diǎn)結(jié)構(gòu)?!庇美?jí)別1測(cè)試條件1、Web業(yè)務(wù)運(yùn)行正常并用SVN進(jìn)行版本管理2、在生產(chǎn)環(huán)境中未刪除相關(guān)SVN的文件執(zhí)行步驟1、 假設(shè)存在這樣的目錄,如。2、 打開(kāi)瀏覽器,直接在URL后面加上“.svn/entries”,查看是否出現(xiàn)目錄結(jié)構(gòu)、文件等敏感信息3、 假設(shè)存在這樣的文件,如。打開(kāi)瀏覽器,直接在URL后面加上“.svn/text-base/xxx.jsp.text-base”,查看是否出現(xiàn)該jsp文件的源碼。預(yù)期結(jié)果不能訪問(wèn)以下鏈接獲得目錄結(jié)構(gòu)和頁(yè)面源代碼等敏感信息備注發(fā)現(xiàn)有SVN漏洞后可以用Seay-SVN這個(gè)軟件把整個(gè)Web站點(diǎn)下載下來(lái)或在線管理,如圖:測(cè)試結(jié)果認(rèn)證測(cè)試暴力破解是目前最直接有效的攻擊方式,特別對(duì)于電信業(yè)務(wù)來(lái)說(shuō),很多情況下口令都為6位純數(shù)字,很容易被攻擊。本測(cè)試項(xiàng)在于檢查認(rèn)證系統(tǒng)對(duì)暴力破解的防護(hù)性。在以下的一些測(cè)試中,圍繞能否滿足暴力破解進(jìn)行的設(shè)計(jì),未設(shè)計(jì)直接進(jìn)行暴力破解的攻擊用例。如果需要,測(cè)試人員可以使用hydra和AppScan中集成的AuthenticationTester工具進(jìn)行。驗(yàn)證碼測(cè)試編號(hào)SEC_Web_AUTHEN_01測(cè)試用例名稱(chēng)驗(yàn)證碼測(cè)試測(cè)試目的查看是否有驗(yàn)證碼機(jī)制,以及驗(yàn)證碼機(jī)制是否完善用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)運(yùn)行正常存在登陸頁(yè)面執(zhí)行步驟登陸頁(yè)面是否存在驗(yàn)證碼,不存在說(shuō)明存在漏洞,完成測(cè)試驗(yàn)證碼和用戶名、密碼是否一次性、同時(shí)提交給服務(wù)器驗(yàn)證,如果是分開(kāi)提交、分開(kāi)驗(yàn)證,則存在漏洞在服務(wù)器端,是否只有在驗(yàn)證碼檢驗(yàn)通過(guò)后才進(jìn)行用戶名和密碼的檢驗(yàn),如果不是說(shuō)明存在漏洞。(檢測(cè)方法:輸入錯(cuò)誤的用戶名或密碼、錯(cuò)誤的驗(yàn)證碼。觀察返回信息,是否只提示驗(yàn)證碼錯(cuò)誤,也就是說(shuō)當(dāng)驗(yàn)證碼錯(cuò)誤時(shí),禁止再判斷用戶名和密碼。)驗(yàn)證碼是否為圖片形式且在一張圖片中,不為圖片形式或不在一張圖片中,說(shuō)明存在漏洞,完成測(cè)試生成的驗(yàn)證碼是否可以通過(guò)html源代碼查看到,如果可以說(shuō)明存在漏洞,完成測(cè)試生成驗(yàn)證碼的模塊是否根據(jù)提供的參數(shù)生成驗(yàn)證碼,如果是說(shuō)明存在漏洞,完成測(cè)試請(qǐng)求10次觀察驗(yàn)證碼是否隨機(jī)生成,如果存在一定的規(guī)律(例如5次后出現(xiàn)同一驗(yàn)證碼)說(shuō)明存在漏洞,完成測(cè)試觀察驗(yàn)證碼圖片中背景是否存在無(wú)規(guī)律的點(diǎn)或線條,如果背景為純色(例如只有白色)說(shuō)明存在漏洞,完成測(cè)試驗(yàn)證碼在認(rèn)證一次后是否立即失效:請(qǐng)求登陸頁(yè)面,得到生成的驗(yàn)證碼開(kāi)啟WebScarab,配置對(duì)GET和POST請(qǐng)求進(jìn)行攔截;并在瀏覽器中配置代理服務(wù)器IP為,端口為8008填入錯(cuò)誤的用戶名和口令,填入正確的驗(yàn)證碼,提交表單從WebScarab攔截?cái)?shù)據(jù)中復(fù)制對(duì)應(yīng)登陸請(qǐng)求的POST或GET消息(文本格式),將其中的口令更改一個(gè)字符在命令行中輸入telnet<服務(wù)器域名或IP><端口>,回車(chē)將修改的內(nèi)容粘貼到命令行窗口中,回車(chē)判斷返回的頁(yè)面中是否包含“驗(yàn)證碼錯(cuò)誤”(或類(lèi)似)的提示,如果沒(méi)有,說(shuō)明存在漏洞,完成測(cè)試預(yù)期結(jié)果不存在上述漏洞備注本用例根據(jù)最嚴(yán)格的方式對(duì)目標(biāo)進(jìn)行測(cè)試,如果產(chǎn)品線對(duì)安全的要求不高且有自身的安全策略規(guī)定時(shí),可以視情況對(duì)測(cè)試項(xiàng)進(jìn)行部分測(cè)試測(cè)試結(jié)果認(rèn)證錯(cuò)誤提示編號(hào)SEC_Web_AUTHEN_02測(cè)試用例名稱(chēng)認(rèn)證錯(cuò)誤提示測(cè)試目的為了進(jìn)行暴力破解,攻擊者需要知道已存在的用戶名,再對(duì)該用戶名進(jìn)行攻擊。所以,本測(cè)試用于確認(rèn)目標(biāo)服務(wù)器在處理登陸操作時(shí)會(huì)提示出具體的信息。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)運(yùn)行正常存在登陸頁(yè)面執(zhí)行步驟在用戶名(或其他身份標(biāo)志)的輸入框中輸入noexists,口令任意若服務(wù)器返回提示類(lèi)似于“用戶名不存在”,則說(shuō)明存在漏洞,完成測(cè)試使用正確的用戶名(或同功能的身份標(biāo)志),在口令框中輸入noexists若服務(wù)器提示類(lèi)似于“密碼/口令錯(cuò)誤”“用戶名不存在”之類(lèi)的信息,則說(shuō)明存在漏洞,完成測(cè)試。預(yù)期結(jié)果服務(wù)器不會(huì)針對(duì)認(rèn)證錯(cuò)誤的情況提示準(zhǔn)確的信息。備注測(cè)試結(jié)果鎖定策略測(cè)試編號(hào)SEC_Web_AUTHEN_03測(cè)試用例名稱(chēng)鎖定策略測(cè)試測(cè)試目的在缺少鎖定策略和驗(yàn)證碼設(shè)計(jì)有問(wèn)題的情況下,攻擊者可以通過(guò)枚舉的方式來(lái)進(jìn)行暴力猜解。本測(cè)試用于發(fā)現(xiàn)目標(biāo)系統(tǒng)是否缺少鎖定策略。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)運(yùn)行正常存在登陸頁(yè)面執(zhí)行步驟打開(kāi)登陸頁(yè)面在用戶名(或同功能的身份標(biāo)志)輸入框中輸入正確的用戶名在口令(或同功能的口令標(biāo)志)輸入框中輸入錯(cuò)誤的口令在驗(yàn)證碼輸入框(如果有的話)中輸入正確的驗(yàn)證碼提交表單重復(fù)1~5步驟10次判斷目標(biāo)系統(tǒng)返回的信息預(yù)期結(jié)果目標(biāo)系統(tǒng)提示“帳號(hào)已鎖定”或者“IP已鎖定”或者類(lèi)似“鎖定”等之類(lèi)的信息。備注第6步中重復(fù)步驟次數(shù)視各產(chǎn)品實(shí)際情況而定。另外,如果系統(tǒng)存在一些認(rèn)證接口(帶認(rèn)證參數(shù)的URL,不是普通登陸頁(yè)面),那么也需要對(duì)認(rèn)證接口進(jìn)行失敗認(rèn)證嘗試,以測(cè)試其鎖定策略。測(cè)試結(jié)果認(rèn)證繞過(guò)測(cè)試編號(hào)SEC_Web_AUTHEN_04測(cè)試用例名稱(chēng)認(rèn)證繞過(guò)測(cè)試測(cè)試目的發(fā)現(xiàn)目標(biāo)認(rèn)證系統(tǒng)是否存在繞過(guò)的可能用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)運(yùn)行正常存在登陸頁(yè)面執(zhí)行步驟打開(kāi)登陸頁(yè)面在用戶名(或同功能的身份標(biāo)志)輸入框中輸入admin’or‘1’=’1在口令(或同功能的口令標(biāo)志)輸入框中輸入admin’or‘1’=’1提交表單,觀察返回結(jié)果預(yù)期結(jié)果不能夠成功登陸。備注如果目標(biāo)系統(tǒng)采用javascript限制了輸入格式,可以通過(guò)WebScarab來(lái)進(jìn)行修改。關(guān)于WebScarab的使用說(shuō)明,請(qǐng)參看相關(guān)幫助文檔。測(cè)試結(jié)果找回密碼測(cè)試編號(hào)SEC_Web_AUTHEN_05測(cè)試用例名稱(chēng)找回密碼測(cè)試測(cè)試目的網(wǎng)站在密碼重設(shè)和密碼找回功能上如果存在著缺陷,攻擊者可以通過(guò)此功能找到指定用戶的密碼,更改指定用戶的密碼讓其不能登陸,造成業(yè)務(wù)數(shù)據(jù)修改等。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)正常運(yùn)行網(wǎng)站提供密碼重設(shè)或密碼找回的功能已知某正確的用戶賬號(hào)執(zhí)行步驟打開(kāi)密碼找回功能的頁(yè)面如果沒(méi)有對(duì)用戶的合法身份進(jìn)行任何驗(yàn)證就發(fā)送密碼,則說(shuō)明存在漏洞。系統(tǒng)正常需要用戶輸入一些能夠證明其合法身份的信息(比如回答一些原來(lái)注冊(cè)用戶時(shí)填寫(xiě)的一些信息,比如小學(xué)教師姓名等),如果是回答問(wèn)題的方式,則判斷問(wèn)題是否類(lèi)似于“我的生日”或“我的姓氏”這種答案限定范圍非常小的問(wèn)題。如果是說(shuō)明存在漏洞,完成測(cè)試,否則進(jìn)行下一步。如果為輸入密碼的方式,則查看該頁(yè)的html源代碼在html源代碼中查看是否存在著可能為密碼的數(shù)據(jù),如果是,說(shuō)明存在漏洞用戶的密碼一般通過(guò)用戶郵箱或者手機(jī)短信的方式來(lái)通知用戶,如果在返回的Web頁(yè)面直接顯示明文口令,則說(shuō)明存在漏洞。預(yù)期結(jié)果密碼找回不存在漏洞備注測(cè)試結(jié)果修改密碼測(cè)試編號(hào)SEC_Web_AUTHEN_06測(cè)試用例名稱(chēng)修改密碼測(cè)試測(cè)試目的如果修改密碼功能存在著缺陷,攻擊者可以通過(guò)此其缺陷修改其他用戶的密碼。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)正常運(yùn)行網(wǎng)站提供修改密碼的功能已知某正確的用戶賬號(hào)執(zhí)行步驟登陸網(wǎng)站進(jìn)入密碼修改頁(yè)面查看是否必須提交正確舊密碼,如果不需要?jiǎng)t存在漏洞填寫(xiě)并提交修改密碼數(shù)據(jù),并以WebScarab攔截修改密碼請(qǐng)求,觀察新舊密碼是否通過(guò)同一個(gè)HTTP請(qǐng)求提交到服務(wù)器,如果不是則存在漏洞;觀察是否客戶端是否提交用戶名或用戶ID,如果是則修改為其他用戶名或用戶ID,看看是否能夠成功修改其他用戶的密碼,如果可以則存在漏洞。預(yù)期結(jié)果用戶修改密碼時(shí)必須提供舊密碼,普通用戶無(wú)法修改其他用戶的密碼。備注如果初始口令為系統(tǒng)提供的默認(rèn)口令、或者是由管理員設(shè)定時(shí),則在用戶/操作員使用初始口令成功登錄后,系統(tǒng)必須強(qiáng)制用戶/操作員更改初始口令,直至更改成功,否則是漏洞。測(cè)試結(jié)果不安全的數(shù)據(jù)傳輸編號(hào)SEC_Web_AUTHEN_07測(cè)試用例名稱(chēng)登陸過(guò)程信息機(jī)密性保護(hù)測(cè)試目的測(cè)試Web程序在處理登錄過(guò)程中用戶名和口令的傳輸是否采用了加密傳輸?shù)臋C(jī)制。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)正常運(yùn)行Web業(yè)務(wù)存在登陸認(rèn)證模塊執(zhí)行步驟已知網(wǎng)站登錄地址為:開(kāi)啟WebScarab,配置對(duì)GET和POST請(qǐng)求進(jìn)行攔截;在瀏覽器中配置代理服務(wù)器IP為,端口為8008在登錄處輸入用戶名和口令、驗(yàn)證碼登陸查看WebScarab攔截的請(qǐng)求中,用戶名和口令是否采用HTTPS協(xié)議傳輸。預(yù)期結(jié)果用戶名和密碼信息采用HTTPS傳輸。備注參考Web應(yīng)用安全開(kāi)發(fā)規(guī)范章節(jié)3.5.3敏感數(shù)據(jù)傳輸測(cè)試結(jié)果編號(hào)SEC_Web_AUTHEN_08測(cè)試用例名稱(chēng)修改密碼信息機(jī)密性保護(hù)測(cè)試目的測(cè)試Web程序在修改密碼過(guò)程中用戶名和口令的傳輸是否采用了加密傳輸?shù)臋C(jī)制。用例級(jí)別2測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)正常運(yùn)行Web業(yè)務(wù)存在修改密碼的功能執(zhí)行步驟登陸Web網(wǎng)站找到修改密碼的頁(yè)面輸入舊密碼和新密碼并提交并觀察數(shù)據(jù)傳輸是否采用HTTPS方式預(yù)期結(jié)果用戶名和密碼信息采用HTTPS傳輸。備注創(chuàng)建用戶時(shí)如果包含密碼也應(yīng)該HTTPS傳輸。參考Web應(yīng)用安全開(kāi)發(fā)規(guī)范章節(jié)3.5.3敏感數(shù)據(jù)傳輸測(cè)試結(jié)果強(qiáng)口令策略測(cè)試編號(hào)SEC_Web_AUTHEN_08測(cè)試用例名稱(chēng)強(qiáng)口令策略測(cè)試測(cè)試目的本測(cè)試為檢查目標(biāo)系統(tǒng)是否存在強(qiáng)口令策略。用例級(jí)別2測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)運(yùn)行正常Web業(yè)務(wù)存在帳號(hào)管理已知正常用戶的用戶、口令存在口令修改頁(yè)面執(zhí)行步驟使用正確的用戶、口令登陸Web業(yè)務(wù)系統(tǒng)打開(kāi)口令修改頁(yè)面在新口令輸入框中輸入字母加數(shù)字的5位字符(如ab123)作為密碼并提交,如果未提示“口令長(zhǎng)度過(guò)短”等諸如此類(lèi)的信息,說(shuō)明存在弱點(diǎn),完成測(cè)試。在新口令輸入框中輸入6位數(shù)字(如123456)作為密碼并提交,如果未提示“口令字符需要大小寫(xiě)”等諸如此類(lèi)的信息,說(shuō)明存在弱點(diǎn),完成測(cè)試。觀察結(jié)果預(yù)期結(jié)果目標(biāo)系統(tǒng)存在滿足上述步驟的較嚴(yán)格的口令復(fù)雜度策略。備注上面只是舉例說(shuō)明口令復(fù)雜度的測(cè)試,實(shí)際上強(qiáng)口令策略還包括口令有效期、歷史口令等,這些都要測(cè)試。對(duì)于一些Web應(yīng)用(如移動(dòng)網(wǎng)上客服系統(tǒng))密碼只能是數(shù)字組成,則不強(qiáng)制要求強(qiáng)口令。Web應(yīng)用安全開(kāi)發(fā)規(guī)范中的強(qiáng)口令策略:規(guī)則:口令長(zhǎng)度的取值范圍為:0-32個(gè)字符;口令的最短長(zhǎng)度和最長(zhǎng)長(zhǎng)度可配置;口令的最短長(zhǎng)度建議默認(rèn)為6個(gè)字符。規(guī)則:口令中至少需要包括一個(gè)大寫(xiě)字母(A-Z)、一個(gè)小寫(xiě)字母(a-z)、一個(gè)數(shù)字字符(0-9);口令是否包含特殊字符要求可以配置。規(guī)則:口令中允許同一字符連續(xù)出現(xiàn)的最大次數(shù)可配置,取值范圍:0-9,當(dāng)取值為0時(shí),表示無(wú)限制,建議默認(rèn)為3。規(guī)則:口令須設(shè)置有效期,最短有效期的取值范圍:0-9999分鐘,當(dāng)取值為0時(shí),表示不做限制,建議默認(rèn):5分鐘;最長(zhǎng)有效期的取值范圍:0-999天,當(dāng)取值為0時(shí),表示口令永久有效,建議默認(rèn):90天。規(guī)則:在口令到期前,當(dāng)用戶登錄時(shí)系統(tǒng)須進(jìn)行提示,提前提示的天數(shù)可配置,取值范圍:1-99天,建議默認(rèn):7天。規(guī)則:口令到達(dá)最長(zhǎng)有效期后,用戶再次登錄成功但在進(jìn)入系統(tǒng)前,系統(tǒng)強(qiáng)制更改口令,直至更改成功。規(guī)則:口令歷史記錄數(shù)可配置,取值范圍為:0-30;建議默認(rèn):3個(gè)。規(guī)則:管理員/操作員/最終用戶修改自己的口令時(shí),必須提供舊口令。規(guī)則:初始口令為系統(tǒng)提供的默認(rèn)口令、或者是由管理員設(shè)定時(shí),則在用戶/操作員使用初始口令成功登錄后,要強(qiáng)制用戶/操作員更改初始口令,直至更改成功。規(guī)則0:口令不能以明文的形式在界面上顯示。規(guī)則1:口令不能以明文的形式保存,須加密保存;口令與用戶名關(guān)聯(lián)加密,即加密前的數(shù)據(jù)不僅包括口令,還包括用戶名。規(guī)則2:只有當(dāng)用戶通過(guò)認(rèn)證之后才可以修改口令。規(guī)則3:修改口令的帳號(hào)只能從服務(wù)器端的會(huì)話信息中獲取,而不能由客戶端指定。建議:實(shí)現(xiàn)弱口令詞典功能。測(cè)試結(jié)果會(huì)話管理測(cè)試身份信息維護(hù)方式測(cè)試編號(hào)SEC_Web_SESSION_01測(cè)試用例名稱(chēng)身份信息維護(hù)方式測(cè)試測(cè)試目的發(fā)現(xiàn)目標(biāo)系統(tǒng)是否采用參數(shù)來(lái)進(jìn)行身份判斷。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)正常運(yùn)行Web業(yè)務(wù)存在不同級(jí)別的權(quán)限(角色)執(zhí)行步驟登錄系統(tǒng)配置WebScarab進(jìn)行httpget和post請(qǐng)求攔截請(qǐng)求Web頁(yè)面在WebScarab中查看請(qǐng)求報(bào)文檢查請(qǐng)求消息中是否攜帶了與用戶身份相關(guān)的數(shù)據(jù)。如果有,修改身份信息。如果服務(wù)器端以修改后的身份進(jìn)行操作,則說(shuō)明存在漏洞,完成測(cè)試。預(yù)期結(jié)果用戶登陸后,身份信息不再由客戶端提交,而是以服務(wù)器端會(huì)話信息中保存的身份信息為準(zhǔn)。備注測(cè)試結(jié)果Cookie存儲(chǔ)方式測(cè)試編號(hào)SEC_Web_SESSION_02測(cè)試用例名稱(chēng)Cookie存儲(chǔ)方式測(cè)試測(cè)試目的某些Web應(yīng)用將SesssionId放到了URL中進(jìn)行傳輸,攻擊者能夠誘使被攻擊者訪問(wèn)特定的資源,例如圖片。在被攻擊者查看資源時(shí)獲取該SessionID(在HTTP協(xié)議中Referer標(biāo)題頭中攜帶了來(lái)源地址),從而導(dǎo)致身份盜用。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)運(yùn)行正常Web業(yè)務(wù)存在登陸認(rèn)證模塊已知正確的用戶名、口令執(zhí)行步驟登錄系統(tǒng)。請(qǐng)求不同的業(yè)務(wù)應(yīng)用觀察URL。預(yù)期結(jié)果URL中沒(méi)有攜帶SessionID信息(可能是sid,JSESSIONID等形式)。備注測(cè)試結(jié)果用戶注銷(xiāo)登陸的方式測(cè)試編號(hào)SEC_Web_SESSION_03測(cè)試用例名稱(chēng)用戶注銷(xiāo)登陸的方式測(cè)試測(cè)試目的查看是否提供注銷(xiāo)登陸功能用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)運(yùn)行正常Web業(yè)務(wù)存在登陸認(rèn)證模塊已知正確的用戶名、口令執(zhí)行步驟使用正常的用戶、口令登錄系統(tǒng)。查找登陸后的所有頁(yè)面中是否存在明確的“退出”或“注銷(xiāo)”(或類(lèi)似)的按鈕或者鏈接預(yù)期結(jié)果登陸后的頁(yè)面中有明確的“退出”或“注銷(xiāo)”按鈕。備注測(cè)試結(jié)果注銷(xiāo)時(shí)會(huì)話信息是否清除測(cè)試編號(hào)SEC_Web_SESSION_04測(cè)試用例名稱(chēng)注銷(xiāo)時(shí)(logout),會(huì)話信息是否清除測(cè)試目的由于網(wǎng)站程序在編寫(xiě)上考慮不周,用戶注銷(xiāo)后會(huì)話信息沒(méi)有清除,導(dǎo)致用戶在點(diǎn)擊注銷(xiāo)按鈕之后還能繼續(xù)訪問(wèn)注銷(xiāo)之前(也就是登陸之后)才能訪問(wèn)的頁(yè)面。我們需要經(jīng)過(guò)測(cè)試來(lái)判斷是否存在此類(lèi)問(wèn)題。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)正常運(yùn)行存在注銷(xiāo)功能的頁(yè)面執(zhí)行步驟使用合法的賬戶口令登陸。開(kāi)啟WebScarab,配置對(duì)GET和POST請(qǐng)求進(jìn)行攔截在瀏覽器中配置代理服務(wù)器IP為,端口為8008在Web頁(yè)面中進(jìn)行一些操作(比如修改個(gè)人信息),這些操作都會(huì)被WebScarab攔截,不修改,在彈出的WebScarab界面中點(diǎn)擊“AcceptChanges”按鈕。這樣請(qǐng)求就被WebScarab記錄下來(lái)。然后在Web頁(yè)面中點(diǎn)擊注銷(xiāo)/退出(logout)。點(diǎn)擊WebScarab的“ManualRequest”TAB頁(yè),在PreviousRequests的下拉列表框中選擇“步驟4”所產(chǎn)生的URL請(qǐng)求,然后點(diǎn)擊“FetchResponse”,重新發(fā)送“步驟4”的URL請(qǐng)求。在WebScarab的Response的“Raw”Tab頁(yè)中觀察返回結(jié)果,如果還能夠正常完成“步驟4”的操作,則存在安全漏洞。預(yù)期結(jié)果在WebScarab的Response的“Raw”Tab頁(yè)中顯示“HTTP/1.1302MovedTemporarily”,不能夠訪問(wèn)只有登陸才能訪問(wèn)的頁(yè)面,不能完成只有登陸后才能完成的操作。備注如果存在多個(gè)注銷(xiāo)功能的頁(yè)面,要重復(fù)測(cè)試過(guò)程把所有有注銷(xiāo)功能的頁(yè)面測(cè)試完。測(cè)試結(jié)果會(huì)話超時(shí)時(shí)間測(cè)試編號(hào)SEC_Web_SESSION_05測(cè)試用例名稱(chēng)會(huì)話超時(shí)時(shí)間測(cè)試測(cè)試目的查看是否存在瀏覽器窗口閑置超時(shí)后需重新登錄的機(jī)制用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)運(yùn)行正常Web業(yè)務(wù)存在登陸認(rèn)證模塊已知正確的用戶名、口令執(zhí)行步驟使用正常的用戶、口令登錄系統(tǒng)。將瀏覽器窗口閑置11分鐘。刷新瀏覽器,查看是否需要重新登錄。備注:也可以登陸后臺(tái)Web服務(wù)器,查看對(duì)應(yīng)的web.xml文件中的session-timeout參數(shù)值,該值表示會(huì)話的超時(shí)時(shí)間。預(yù)期結(jié)果會(huì)話超時(shí)時(shí)間不大于10分鐘,刷新瀏覽器之后需要重新登錄。備注測(cè)試結(jié)果會(huì)話定置測(cè)試編號(hào)SEC_Web_SESSION_06測(cè)試用例名稱(chēng)會(huì)話定置(sessionfixation)測(cè)試測(cè)試目的查看登錄成功后會(huì)話標(biāo)識(shí)是否變更。如果未變更,那么攻擊者就可以通過(guò)一些手段(如構(gòu)造URL)為受害著確定一個(gè)會(huì)話標(biāo)識(shí),當(dāng)受害者登錄成功后,攻擊者也可以利用這個(gè)會(huì)話標(biāo)識(shí)冒充受害者訪問(wèn)系統(tǒng)。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)運(yùn)行正常Web業(yè)務(wù)存在登陸認(rèn)證模塊已知正確的用戶名、口令執(zhí)行步驟訪問(wèn)登錄頁(yè)面開(kāi)啟WebScarab,配置對(duì)GET和POST請(qǐng)求進(jìn)行攔截;并在瀏覽器中配置代理服務(wù)器IP為,端口為8008填入正確的用戶名和口令,填入正確的驗(yàn)證碼,登錄WebScarab跳出攔截界面,點(diǎn)擊“RAW”TAB頁(yè),查看會(huì)話標(biāo)識(shí)(例如JSP的會(huì)話標(biāo)識(shí)為JSESSIONID)的值。點(diǎn)擊“AcceptChanges”,登錄成功。成功登錄后,點(diǎn)擊系統(tǒng)提供的鏈接,請(qǐng)求任意功能頁(yè)面。WebScarab再次跳出攔截界面,點(diǎn)擊“RAW”TAB頁(yè),查看(例如JSP的會(huì)話標(biāo)識(shí)為JSESSIONID)的值。如果步驟4和步驟7查看到的會(huì)話標(biāo)識(shí)的值一樣,說(shuō)明登錄前后會(huì)話標(biāo)識(shí)沒(méi)有變更,存在會(huì)話定置的安全漏洞。預(yù)期結(jié)果步驟4和步驟7(登錄前后)查看到的會(huì)話標(biāo)識(shí)的值不一樣備注。測(cè)試結(jié)果會(huì)話標(biāo)識(shí)攜帶編號(hào)SEC_Web_SESSION_07測(cè)試用例名稱(chēng)會(huì)話標(biāo)識(shí)攜帶測(cè)試目的登錄成功后,檢查URL參數(shù)中是否攜帶了會(huì)話標(biāo)識(shí),URL的參數(shù)和值容易泄漏,如果URL攜帶了會(huì)話標(biāo)識(shí),那么會(huì)話標(biāo)識(shí)很容易泄漏,會(huì)話容易被盜用。用例級(jí)別1測(cè)試條件已知Web網(wǎng)站地址Web業(yè)務(wù)運(yùn)行正常已知正確的用戶名、口令執(zhí)行步驟訪問(wèn)登錄頁(yè)面,并成功登陸。檢查瀏覽器地址欄中的URL及參數(shù),是否包含會(huì)話標(biāo)識(shí)(例如:jsessionid或sid等);如果包含,則存在安全漏洞。預(yù)期結(jié)果URL參數(shù)中沒(méi)有攜帶會(huì)話標(biāo)識(shí)。備注測(cè)試結(jié)果會(huì)話標(biāo)識(shí)隨機(jī)性測(cè)試編號(hào)SEC_Web_SESSION_08測(cè)試用例名稱(chēng)會(huì)話標(biāo)識(shí)隨機(jī)性測(cè)試測(cè)試目的會(huì)話標(biāo)識(shí)是用戶身份的唯一標(biāo)識(shí),如果該標(biāo)識(shí)被盜用、竊取、猜測(cè)則導(dǎo)致非授權(quán)者盜用用戶身份登錄系統(tǒng),因此會(huì)話標(biāo)識(shí)必須具備強(qiáng)隨機(jī)性,防止非授權(quán)者猜測(cè)用例級(jí)別2測(cè)試條件1、Web業(yè)務(wù)系統(tǒng)登錄運(yùn)行正常2、已知正確的用戶名、口令執(zhí)行步驟配置burpsuite為瀏覽器代理,如圖:2、配置完成后,訪問(wèn)登錄頁(yè)面,輸入正確的用戶名和密碼。點(diǎn)擊提交后burpsuite將會(huì)攔截請(qǐng)求,例如:3、在攔截的請(qǐng)求中右鍵點(diǎn)擊彈出菜單,選擇“SendtoSequencer”,這時(shí)看到“Sequencer”標(biāo)簽高亮,點(diǎn)擊“Sequencer”標(biāo)簽,如圖:4、這時(shí)可看到請(qǐng)求已自動(dòng)帶進(jìn)“Sequencer”,只需在“cookie”這欄選擇請(qǐng)求中的會(huì)話標(biāo)識(shí)即可,基于JavaEE架構(gòu)的會(huì)話標(biāo)識(shí)符一般都以JSESSIONID命名,最后點(diǎn)擊“Startlivecapture”開(kāi)始發(fā)送大量請(qǐng)求獲取足夠數(shù)量的會(huì)話標(biāo)識(shí)符,如圖:5、等待進(jìn)度條完成后,點(diǎn)擊“Analyzenow”即可在下方看到報(bào)告,這時(shí)只看紅色圈部分顯示“excellent”即可。預(yù)期結(jié)果測(cè)試結(jié)果顯示為“excellent”。備注點(diǎn)擊“Savetokens”可保存掃描過(guò)的會(huì)話標(biāo)識(shí),可供其他軟件使用。測(cè)試結(jié)果權(quán)限管理測(cè)試目前存在著兩種越權(quán)操作類(lèi)型:橫向越權(quán)操作和縱向越權(quán)操作。前者指的是攻擊者嘗試訪問(wèn)與他擁有相同權(quán)限的用戶的資源;而后者指的是一個(gè)低級(jí)別攻擊者嘗試訪問(wèn)高級(jí)別用戶的資源。下圖能夠比較清晰的描繪出它們之間的關(guān)系:橫向越權(quán)普通管理員C橫向越權(quán)普通管理員C普通用戶A普通用戶B普通管理員D超級(jí)管理員E縱向越權(quán)權(quán)限管理測(cè)試更多的是進(jìn)行人工分析,自動(dòng)化工具無(wú)法了解頁(yè)面的具體應(yīng)用場(chǎng)景以及邏輯判斷過(guò)程。因此這里的測(cè)試需要首先測(cè)試人員理解測(cè)試業(yè)務(wù)系統(tǒng)的邏輯處理流程,并在此基礎(chǔ)上進(jìn)行如下測(cè)試。這里有幾個(gè)測(cè)試的參考依據(jù):頁(yè)面是否進(jìn)行權(quán)限判斷;頁(yè)面提交的資源標(biāo)志是否與已登陸的用戶身份進(jìn)行匹配比對(duì);用戶登陸后,服務(wù)器端不應(yīng)再以客戶端提交的用戶身份信息為依據(jù),而應(yīng)以會(huì)話中保存的已登陸的用戶身份信息為準(zhǔn);必須在服務(wù)器端對(duì)每個(gè)請(qǐng)求URL進(jìn)行鑒權(quán),而不能僅僅通過(guò)客戶端的菜單屏蔽或者按鈕Disable來(lái)限制。橫向測(cè)試編號(hào)SEC_Web_PRIVI_01_01測(cè)試用例名稱(chēng)基于用戶身份處理的橫向越權(quán)操作測(cè)試測(cè)試目的發(fā)現(xiàn)頁(yè)面中存在的橫向越權(quán)操作。用例級(jí)別1測(cè)試條件Web業(yè)務(wù)運(yùn)行正常Web業(yè)務(wù)存在身份級(jí)別控制已知某頁(yè)面(假設(shè)為).提交的參數(shù)中存在著代表用戶(假設(shè)為userA)身份的標(biāo)志(假設(shè)為operator),與userA同級(jí)別權(quán)限的用戶userB測(cè)試用機(jī)安裝了WebScarab軟件執(zhí)行步驟運(yùn)行WebScarab點(diǎn)擊Proxy標(biāo)簽頁(yè)->ManualEdit標(biāo)簽頁(yè)選中Interceptrequests打開(kāi)瀏覽器,在代理地址中配置host為,port為8008使用userA的身份登陸到Web應(yīng)用進(jìn)入頁(yè)面,提交數(shù)據(jù)在彈出的對(duì)話框中的URLEncoded頁(yè)面中,更改operator參數(shù)的值為userB,再點(diǎn)擊AcceptChanges按鈕提交觀察服務(wù)器處理預(yù)期結(jié)果服務(wù)器返回操作失敗或者以u(píng)serA的用戶身份操作。備注如果參數(shù)是基于GET方式的URL傳遞,則不需要通過(guò)WebScarab工具,直接在URL中進(jìn)行修改提交即可。參考資料編號(hào)SEC_Web_PRIVI_01_02測(cè)試用例名稱(chēng)基于資源ID處理的橫向越權(quán)操作測(cè)試測(cè)試目的發(fā)現(xiàn)頁(yè)面中存在的橫向越權(quán)操作。用例級(jí)別1測(cè)試條件Web業(yè)務(wù)運(yùn)行正常Web業(yè)務(wù)存在身份級(jí)別控制Web業(yè)務(wù)存在相同級(jí)別的兩個(gè)用戶,假設(shè)分別為userA和userB已知某頁(yè)面(假設(shè)為).提交的參數(shù)中存在著代表資源的標(biāo)志(假設(shè)為resource_id)測(cè)試用機(jī)安裝了WebScarab軟件(本測(cè)試基于20070504版本來(lái)描述)執(zhí)行步驟運(yùn)行WebScarab點(diǎn)擊Proxy標(biāo)簽頁(yè)->ManualEdit標(biāo)簽頁(yè)選中Interceptrequests打開(kāi)瀏覽器,在代理地址中配置host為,port為8008使用userA的身份登陸到Web應(yīng)用進(jìn)入頁(yè)面,提交數(shù)據(jù)在彈出的對(duì)話框中的URLEncoded頁(yè)面中,更改resource_id參數(shù)的值為userB所屬的資源id,再點(diǎn)擊AcceptChanges按鈕提交觀察服務(wù)器處理預(yù)期結(jié)果服務(wù)器返回操作失敗。備注如果參數(shù)是基于GET方式的URL傳遞,則不需要通過(guò)WebScarab工具,直接在URL中進(jìn)行修改提交即可。參考資料縱向測(cè)試橫向測(cè)試的兩個(gè)用例在本測(cè)試類(lèi)別中同樣使用,只需要對(duì)用戶身份進(jìn)行測(cè)試時(shí)使用上下級(jí)權(quán)限即可。在下面的測(cè)試中,我們更偏向于使用白盒測(cè)試。這樣對(duì)于測(cè)試人員來(lái)說(shuō)節(jié)約了非常多的時(shí)間。而且也能夠全面覆蓋所有的頁(yè)面。編號(hào)SEC_Web_PRIVI_02_01測(cè)試用例名稱(chēng)基于菜單URL的測(cè)試測(cè)試目的發(fā)現(xiàn)應(yīng)用中存在的URL縱向越權(quán)操作。用例級(jí)別1測(cè)試條件Web業(yè)務(wù)運(yùn)行正常Web業(yè)務(wù)存在身份級(jí)別控制擁有超級(jí)管理員及普通用戶的帳號(hào)和密碼執(zhí)行步驟以超級(jí)管理員身份登陸Web網(wǎng)站單擊鼠標(biāo)右鍵,選擇“查看源文件”在網(wǎng)頁(yè)“源文件”中查找重要的管理菜單(比如用戶管理)的URL鏈接,并拷貝URL鏈接地址退出登陸以普通用戶身份登陸Web網(wǎng)站在瀏覽器地址欄中輸入“用戶管理”的URL地址(如usermanage.do),然后回車(chē)觀察普通用戶是否能夠順利進(jìn)入“用戶管理”頁(yè)面,并進(jìn)行用戶管理操作。預(yù)期結(jié)果普通用戶不能夠通過(guò)直接URL訪問(wèn)、使用未授權(quán)的功能。備注測(cè)試結(jié)果編號(hào)SEC_Web_PRIVI_02_02測(cè)試用例名稱(chēng)基于源代碼的測(cè)試測(cè)試目的發(fā)現(xiàn)頁(yè)面中存在的縱向越權(quán)操作。用例級(jí)別3測(cè)試條件Web業(yè)務(wù)運(yùn)行正常Web業(yè)務(wù)存在身份級(jí)別控制擁有Web應(yīng)用的源代碼,假設(shè)存放目錄為測(cè)試用機(jī)的c:\webapp目錄,且假設(shè)頁(yè)面為jsp已知本目錄對(duì)應(yīng)的Web路徑,假設(shè)為執(zhí)行步驟使用無(wú)權(quán)限的用戶身份訪問(wèn)Web應(yīng)用,保持瀏覽器窗口。cd/dc:\webappdir/B*.jsp>list.html使用ultraedit打開(kāi)list.html點(diǎn)擊Search->Replace菜單在彈出的對(duì)話框中使用

">test</a>^p<ahref="

替換

^p用測(cè)試第一步中保持的瀏覽器打開(kāi)list.html文件依次點(diǎn)擊test連接觀察結(jié)果,如果能夠訪問(wèn),則進(jìn)行記錄使用的低級(jí)別的用戶身份登陸系統(tǒng),保持瀏覽器窗口重復(fù)8,9步操作觀察結(jié)果預(yù)期結(jié)果不能夠訪問(wèn)頁(yè)面(如提示“拒絕訪問(wèn)”等信息)。備注測(cè)試結(jié)果編號(hào)SEC_Web_PRIVI_02_03測(cè)試用例名稱(chēng)基于crawling的測(cè)試測(cè)試目的發(fā)現(xiàn)頁(yè)面中存在的縱向越權(quán)操作。用例級(jí)別1測(cè)試條件Web業(yè)務(wù)運(yùn)行正常Web業(yè)務(wù)存在身份級(jí)別控制已知待測(cè)目標(biāo)URL,假設(shè)為測(cè)試用機(jī)上安裝了AppScan執(zhí)行步驟雙擊運(yùn)行AppScan,選擇新建掃描,選擇掃描模板default彈出掃描配置對(duì)話框,選擇掃描類(lèi)型,默認(rèn)為WebApplicationScan,點(diǎn)擊next在StartingURL中填入需掃描的目標(biāo)服務(wù)器域名或IP地址,其他配置不需修改,點(diǎn)擊next選擇默認(rèn)的RecordedLogin(recommendedmethod),點(diǎn)擊New在彈出的頁(yè)面中用權(quán)限較高的用戶身份登錄,如:admin等關(guān)閉頁(yè)面,彈出如下對(duì)話框,點(diǎn)擊OK

不需修改任何參數(shù),點(diǎn)擊next不需修改參數(shù),選擇Startafullautomaticscan,點(diǎn)擊finish完成配置,開(kāi)始掃描掃描完成,保存掃描結(jié)果,假設(shè)命名為admin.scan重新開(kāi)始掃描,重復(fù)步驟1、2、3在選擇用戶身份(即:第4步)時(shí),選擇NoLogin,點(diǎn)擊next在彈出的配置對(duì)話框中(即:第7步的對(duì)話框)選擇AdvancedTestSettings,彈出下面對(duì)話框,點(diǎn)擊Configure選項(xiàng)在PrivilegeEscalation中,點(diǎn)擊Add添加已經(jīng)掃描出的結(jié)果;點(diǎn)擊打開(kāi)導(dǎo)入掃描結(jié)果;并用一個(gè)名稱(chēng)標(biāo)記它,如:admin,點(diǎn)擊ok然后點(diǎn)擊ok返回掃描配置對(duì)話框,如第7步的圖示,點(diǎn)擊next到第8步所示對(duì)話框中,不需修改參數(shù),點(diǎn)擊finish開(kāi)始做越權(quán)掃描掃描完成,保存結(jié)果分析掃描結(jié)果預(yù)期結(jié)果掃描結(jié)果中不會(huì)提示存在漏洞。備注參考資料跨站偽造請(qǐng)求測(cè)試編號(hào)SEC_Web_CSRF_03測(cè)試用例名稱(chēng)跨站請(qǐng)求偽造測(cè)試(CSRF)測(cè)試目的如果網(wǎng)站在關(guān)鍵的業(yè)務(wù)操作(例如轉(zhuǎn)賬操作、增刪改用戶角色操作等等)沒(méi)有添加相應(yīng)的令牌機(jī)制(用于識(shí)別是否授權(quán)人員本人操作),則非授權(quán)人員有可能通過(guò)偽造請(qǐng)求利用已授權(quán)人員的身份執(zhí)行非自愿的操作。用例級(jí)別1測(cè)試條件Web業(yè)務(wù)運(yùn)行正常執(zhí)行步驟1、登陸網(wǎng)站,尋找網(wǎng)站的關(guān)鍵性操作(視具體的業(yè)務(wù)系統(tǒng)而定),這里只以通用的增加用戶操作為例。由于目前的表單大多以Post方法提交為主,因此這里以Post方法為例。打開(kāi)添加用戶頁(yè)面配置burpsuite為瀏覽器代理,如圖:配置完成后,點(diǎn)擊網(wǎng)頁(yè)上添加用戶的按鈕提交請(qǐng)求,burpsuite將會(huì)攔截請(qǐng)求,請(qǐng)求中包括提交的字段以及提交的目標(biāo)URL。假設(shè)提交的請(qǐng)求中包括用戶名(testUserName)和密碼(testPassWord)兩個(gè)字段,提交的目標(biāo)URL為test.action,編寫(xiě)測(cè)試頁(yè)面,代碼如下:將此測(cè)試頁(yè)面放入瀏覽器中運(yùn)行,如Web業(yè)務(wù)系統(tǒng)中已成功添加用戶名testN,則證明該Web業(yè)務(wù)系統(tǒng)存在跨站偽造請(qǐng)求的漏洞。注意:運(yùn)行測(cè)試頁(yè)面時(shí)必須保持會(huì)話狀態(tài),即保持登錄狀態(tài)。預(yù)期結(jié)果成功添加用戶名testN。備注1、如果表單是Get方式提交,則測(cè)試頁(yè)面更簡(jiǎn)單,代碼如下:2、編寫(xiě)頁(yè)面時(shí)盡量帶上所有字段或是帶上必填字段,這樣才能增加表單提交的成功率。測(cè)試結(jié)果文件上傳下載測(cè)試文件上傳測(cè)試編號(hào)SEC_Web_測(cè)試用例名稱(chēng)文件上傳測(cè)試測(cè)試目的很多網(wǎng)站提供文件上傳功能(包括圖片上傳),如果在服務(wù)器端沒(méi)有對(duì)上傳文件的類(lèi)型、大小以及保存的路徑及文件名進(jìn)行嚴(yán)格限制,攻擊者就很容易上傳后門(mén)程序取得WebShell,從而控制服務(wù)器。用例級(jí)別1測(cè)試條件Web業(yè)務(wù)運(yùn)行正常待測(cè)網(wǎng)站存在文件上傳頁(yè)面執(zhí)行步驟登陸網(wǎng)站,并打開(kāi)文件上傳頁(yè)面點(diǎn)擊“瀏覽”按鈕,并選擇本地的一個(gè)JSP文件(比如hacker.jsp),確認(rèn)上傳。如果客戶端腳本限制了上傳文件的類(lèi)型(比如允許gif文件),則把hacker.jsp更名為hacker.gif;配置HTTPProxy(WebScarab)進(jìn)行http請(qǐng)求攔截;重新點(diǎn)擊“瀏覽”按鈕,并選擇hacker.gif,確認(rèn)上傳。在WebScarab攔截的HTTP請(qǐng)求數(shù)據(jù)中,將hacker.gif修改為hacker.jsp,再發(fā)送請(qǐng)求數(shù)據(jù)。登陸后臺(tái)服務(wù)器,用命令find/-namehacker.jsp查看hacker.jsp文件存放的路徑。如果可以直接以Web方式訪問(wèn),則構(gòu)造訪問(wèn)的URL,并通過(guò)瀏覽器訪問(wèn)hacker.jsp,如果可以正常訪問(wèn),則已經(jīng)取得WebShell,測(cè)試結(jié)束。如果hacker.jsp無(wú)法通過(guò)web方式訪問(wèn),例如hacker.jsp存放在/home/tmp/目錄下,而/home/tomcat/webapps目錄對(duì)應(yīng),則進(jìn)行下一步重復(fù)1~3,在WebScarab攔截的HTTP請(qǐng)求數(shù)據(jù)中,將hacker.gi

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論