網(wǎng)絡攻防技術- XSS漏洞檢測及防范_第1頁
網(wǎng)絡攻防技術- XSS漏洞檢測及防范_第2頁
網(wǎng)絡攻防技術- XSS漏洞檢測及防范_第3頁
網(wǎng)絡攻防技術- XSS漏洞檢測及防范_第4頁
網(wǎng)絡攻防技術- XSS漏洞檢測及防范_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

項目六Web網(wǎng)站攻擊與防范【項目概述】某安全運維公司接到一個任務,要求對客戶公司的Web網(wǎng)站進行滲透測試,已知服務器IP地址為00/24。請找出該Web網(wǎng)站存在的安全漏洞并給出防范攻擊的措施?!卷椖糠治觥縒eb是萬維網(wǎng)(WorldWideWeb,WWW)的簡稱,它利用HTTP(HyperTextTransferProtocol,超文本傳輸協(xié)議)來建立用戶與服務器之間的標準交互方式。常用的Web應用都是基于網(wǎng)頁形式開展的。Web網(wǎng)站由多個網(wǎng)頁組成,提供各種類型的網(wǎng)絡服務。早期的Web網(wǎng)站只有瀏覽功能。隨著IT技術的發(fā)展,現(xiàn)在的Web網(wǎng)站逐漸發(fā)展到能支持用戶進行自定義查詢、支持用戶登錄并互動、在線交易等復雜業(yè)務。在這個過程中,需要添加額外的組件來實現(xiàn)上述功能,因此,目前的Web站點都會附帶數(shù)據(jù)庫及其他服務,從而實現(xiàn)對當前站點及用戶信息的存儲及復雜功能的支持?;贖TTP協(xié)議的Web網(wǎng)站執(zhí)行一次典型信息查詢?nèi)蝿盏墓ぷ髁鞒倘鐖D6-1所示。圖6-1Web網(wǎng)站執(zhí)行一次信息查詢的工作流程圖中所示的流程與真實的大型網(wǎng)站應用流程并不完全一致,只用于說明基本原理。因為大型網(wǎng)站要同時為數(shù)以千萬的用戶請求提供服務,僅通過一臺服務器根本無法支持海量的用戶訪問請求,所以會利用負載均衡、CDN、云技術、分布式數(shù)據(jù)庫等技術來應對大量用戶的并發(fā)訪問。然而,所涉及的所有環(huán)節(jié)均可能存在安全隱患,其中一項服務產(chǎn)生問題都可能影響用戶的正常使用或者危害Web服務器的安全。因此,要把Web系統(tǒng)中的所有組件都納入安全防護體系之中。目前,大多數(shù)企業(yè)都會擁有自己的Web網(wǎng)站,網(wǎng)站成為了企業(yè)對外宣傳和業(yè)務開展的重要渠道。黑客也常常盯住企業(yè)的網(wǎng)站,希望通過利用企業(yè)網(wǎng)站的漏洞控制企業(yè)網(wǎng)站,進而控制企業(yè)的服務器,從中獲得企業(yè)內(nèi)部信息的控制權。常見的Web安全漏洞包括:SQL注入漏洞、XSS漏洞、命令執(zhí)行漏洞、CSRF漏洞、文件上傳漏洞、文件包含漏洞等,還有一些業(yè)務層面的邏輯漏洞。滲透測試人員需要利用技術發(fā)現(xiàn)這些漏洞,并給出防御措施,才能保證Web網(wǎng)站的安全運行。

項目主要內(nèi)容:

任務一Web漏洞檢測任務二SQL注入漏洞檢測與防范任務三XSS漏洞檢測及防范任務四

文件上傳漏洞檢測及防范任務三XSS漏洞檢測及防范任務描述根據(jù)任務一中對目標網(wǎng)站漏洞的掃描結果,我們發(fā)現(xiàn)該網(wǎng)站的某些頁面存在被XSS攻擊的風險。請使用滲透測試技術進一步檢測該頁面XSS漏洞的情況并給出防范措施。任務分析1.XSS攻擊的原理??缯灸_本攻擊(XSS攻擊),其英文全稱為CrossSiteScripting,原本縮寫應當是CSS,但為了和層疊樣式表(CascadingStyleSheet,CSS)有所區(qū)分,安全專家們通常將其縮寫成XSS。XSS攻擊是指攻擊者利用網(wǎng)站程序?qū)τ脩糨斎脒^濾不足的缺陷,輸入可以顯示在頁面上對其他用戶造成影響的JavaScript、HTML代碼,從而盜取用戶資料、利用用戶身份進行某種動作或?qū)υL問者進行病毒侵害的一種攻擊方式。當前主流的網(wǎng)站一般具有用戶輸入?yún)?shù)的功能,如網(wǎng)站留言板、評論區(qū)等。攻擊者利用其用戶身份在輸入?yún)?shù)時附帶了惡意腳本,在提交服務器之后,服務器并沒有對用戶端傳入的參數(shù)做任何安全過濾。之后服務器會根據(jù)業(yè)務流程,將惡意腳本存儲在數(shù)據(jù)庫中或直接回顯給用戶。在用戶瀏覽含有惡意腳本的頁面時,惡意腳本會在用戶瀏覽器上成功執(zhí)行。惡意腳本有很多種表現(xiàn)形式,如常見的彈窗、竊取用戶Cookie、彈出廣告等,這也是跨站腳本攻擊的直接效果。如圖6-35所示的頁面,正常的業(yè)務流程為當用戶在文本框中輸入自己的名字后,頁面會顯示“HelloXXX(用戶名字)”的信息。圖6-35網(wǎng)頁正常的業(yè)務流程而如果別有用心的用戶在文本框中輸入了一條JavaScript的語句:<script>alert(“haha”)</script>網(wǎng)頁將不再顯示正常的結果,而是彈出了一個窗口,顯示“haha”,也正是我們輸入的那條JavaScript語句的執(zhí)行結果,如圖6-36所示。圖6-36網(wǎng)頁被XSS攻擊這是因為網(wǎng)頁未對用戶輸入內(nèi)容作安全性檢查,導致用戶輸入的非正常內(nèi)容被網(wǎng)頁當作正常內(nèi)容去執(zhí)行。這種彈出窗口的效果僅是進行XSS測試的一種方法。在真實的場景中,XSS攻擊所帶來的后果會更加嚴重,輕者會彈出廣告,重者會導致用戶賬戶失竊,數(shù)據(jù)信息被讀取、篡改,非法轉賬,強制發(fā)送電子郵件,受控向其他網(wǎng)站發(fā)起攻擊等。2.XSS攻擊的分類。XSS攻擊通常在用戶訪問目標網(wǎng)站時或者之后進行某項動作時觸發(fā)并執(zhí)行。根據(jù)攻擊代碼的存在地點及是否被服務器存儲,并且根據(jù)XSS攻擊存在的形式及產(chǎn)生的效果,可以將其分為三種類型。(1)反射型XSS。頁面將用戶輸入的數(shù)據(jù)通過URL的形式直接或未經(jīng)完善的安全過濾就在瀏覽器中進行輸出。由于此類型的跨站代碼存在于URL中,因此,黑客通常需要通過詐騙或加密變形等方式,將存在惡意代碼的鏈接發(fā)給用戶,只有用戶點擊以后才能使攻擊成功實施。前面那個別有用心的用戶輸入的JavaScript語句即是發(fā)起的反射型XSS攻擊。(2)存儲型XSS。Web應用程序?qū)⒂脩糨斎氲臄?shù)據(jù)信息保存在服務端的數(shù)據(jù)庫或其他文件形式中,網(wǎng)頁進行數(shù)據(jù)查詢展示時,會從數(shù)據(jù)庫中獲取數(shù)據(jù)內(nèi)容,并將數(shù)據(jù)內(nèi)容在網(wǎng)頁中進行輸出展示。只要用戶訪問具有XSS攻擊腳本的網(wǎng)頁時,就會觸發(fā)攻擊效果,因此存儲型XSS具有較強的穩(wěn)定性。常見的場景就是博客或新聞發(fā)布系統(tǒng)中的評論區(qū),黑客將包含惡意代碼的數(shù)據(jù)信息直接寫入文章或文章評論中,所有瀏覽文章或評論的用戶就會被黑客在他們的客戶端瀏覽器中執(zhí)行插入的惡意代碼。(3)基于DOM的XSS。嚴格意義上來講,基于DOM的XSS攻擊并非按照“數(shù)據(jù)是否保存在服務器端”來劃分,其從效果上來說也算是反射型XSS。但是這種XSS實現(xiàn)方法比較特殊,是由JavaScript的DOM節(jié)點編程可以改變HTML代碼這個特性而形成的攻擊。不同于反射型XSS和存儲型XSS,基于DOM的XSS攻擊往往需要針對具體的JavaScriptDOM代碼進行分析,并根據(jù)實際情況進行XSS攻擊的利用。3.XSS漏洞測試流程。XSS漏洞的發(fā)現(xiàn)是一個困難的過程,尤其是對于存儲型XSS漏洞。這主要取決于可能含有XSS漏洞的業(yè)務流程針對用戶參數(shù)的過濾程度或者當前的防護手段。由于XSS漏洞最終仍需要業(yè)務使用者瀏覽后方可觸發(fā)執(zhí)行,導致某些后臺場景需要管理員觸發(fā)后方可發(fā)現(xiàn)。因此,漏洞是否存在且可被利用,很多時候需要較長時間才會得到結果。目前市場上常見的Web漏洞掃描器均可掃描反射型XSS漏洞,并且部分基于瀏覽器的XSS漏洞測試插件可測試存儲型XSS漏洞。但以上工具均會存在一定程度的誤報,因此需要安全人員花費大量時間及精力對檢測結果進行分析測試。所以,使用XSS掃描工具配合手工測試才是發(fā)現(xiàn)XSS漏洞的最佳方法。手工測試XSS漏洞的一般流程包括以下幾個步驟。(1)漏洞挖掘,尋找輸入點。一般情況下,XSS攻擊是通過“HTML注入”方式來實現(xiàn)的。也就是說,攻擊者通過提交參數(shù),意圖修改當前頁面的HTML結構。XSS攻擊成功時,提交的參數(shù)格式可在當前頁面拼接成可執(zhí)行的腳本??梢?,XSS漏洞存在的要求是:當前頁面存在參數(shù)顯示點,且參數(shù)顯示點可被用戶控制輸入。因此,尋找用戶端可控的輸入點是XSS攻擊成功的第一步。在一個常規(guī)的網(wǎng)站中,反射型XSS攻擊一般存在于網(wǎng)站的搜索頁面、登錄頁面等用戶的簡單交互頁面,或者GET型請求的URL里。存儲型XSS一般發(fā)生在留言板、在線信箱、評論欄等處,表現(xiàn)特征是用戶可自行輸入數(shù)據(jù),并且數(shù)據(jù)會提交給服務器。(2)尋找輸出點。XSS攻擊的受害者是訪問過包含XSS惡意代碼頁面的用戶,輸入內(nèi)容需要在用戶頁面上進行展示才能展開XSS攻擊。針對一般的留言板、評論欄系統(tǒng),滲透測試人員能根據(jù)經(jīng)驗輕松判斷出輸出點的位置;對于一些不常見的系統(tǒng),可以通過將輸入內(nèi)容在回顯頁面中進行搜索來確定輸出的位置。測試主要基于兩個目的:①確定網(wǎng)站對輸入內(nèi)容是否進行了輸出,判斷是否可以展開XSS攻擊。②根據(jù)輸出的位置的HTML環(huán)境來編寫有效的XSS代碼。有點輸出點無法直接回顯,例如一些網(wǎng)站的“站長信箱”模塊。用戶輸入的內(nèi)容可能不會在前臺展示,或者需要一定的時間通過人工審核后才能展示,因此也就無法直接觀察測試結果,這給測試輸出點帶來了很大的難度。這種情況下,一般通過經(jīng)驗判斷是否會輸出,或者直接嘗試XSS攻擊竊取Cookie。由于后臺審核的一般是管理賬戶,若測試成功可能直接獲得管理權限,這也就是俗稱的“XSS盲打后臺”。(3)測試基本跨站代碼。通過上面兩個步驟,可發(fā)現(xiàn)具體的輸入點及輸出位置,那么存在XSS漏洞的基本條件已經(jīng)具備了。但XSS攻擊在這個測試點是否能順利進行,就需要通過一些基本的跨站代碼來測試了。如果其中環(huán)節(jié)被過濾,則攻擊依然無效。測試XSS漏洞的經(jīng)典方式就是“彈窗測試”,即在輸入中插入一段可以產(chǎn)生彈窗效果的JavaScript腳本,如果刷新頁面產(chǎn)生了彈窗,表明XSS測試成功。一般的彈窗測試腳本如下:<script>alert(/xss/)</script>這段代碼的意義是:通過JavaScript執(zhí)行彈窗命令,彈窗命令為alert,窗口顯示內(nèi)容為/xss/(當然也可以自定義彈窗顯示的內(nèi)容)。任務實施本次任務實施的拓撲示意圖如圖6-37所示。圖6-37XSS漏洞檢測及防范拓撲示意圖1.對目標網(wǎng)頁進行XSS漏洞測試。步驟1訪問目標網(wǎng)頁,尋找其輸入點和輸出點,如圖6-38所示。該網(wǎng)頁是一個類似論壇的頁面。當用戶輸入了自己的名字和所要發(fā)送的消息,點擊“SignGuestbook”按鈕,該用戶的名字和消息就會顯示在下方的消息輸出區(qū)域。圖6-38XSS漏洞測試第一步步驟2編寫測試代碼。在Message文本框中輸入經(jīng)典XSS攻擊測試腳本<script>alert(“haha”)</script>點擊“SignGuestbook”按鈕后發(fā)現(xiàn)出現(xiàn)了彈窗效果,如圖6-39所示,說明該網(wǎng)頁存在XSS漏洞。圖6-39XSS漏洞測試第二步步驟3刷新該頁面,發(fā)現(xiàn)即使沒用任何輸入,仍舊會有彈窗。說明該XSS漏洞是一個存儲型XSS。之前寫的測試腳本已經(jīng)被寫入數(shù)據(jù)庫中存儲下來,每次刷新頁面,都要讀取數(shù)據(jù)庫,都會執(zhí)行該測試腳本。步驟4利用XSS漏洞獲取網(wǎng)頁的Cookie。在Message文本框中輸入漏洞利用的語句:<script>alert(document.cookie)</script>點擊“SignGuestbook”按鈕后發(fā)現(xiàn)彈窗中包含的是當前頁面的Cookie,如圖6-40所示。該語句的基本功能也是彈窗,但是其彈出的內(nèi)容是document.cookie,也即是獲取當前頁面的Cookie。圖6-40XSS漏洞利用——獲取Cookie知識鏈接:Web漏洞靶機——DVWADVWA(DamnVulnerableWebApp)是一個基于PHP/MySQL的充滿漏洞的Web應用程序。它的主要目標是幫助安全專業(yè)人員在一個合法的環(huán)境中測試他們的技能和工具,幫助web開發(fā)人員更好地理解保護web應用程序的過程,并幫助教師/學生在課堂環(huán)境中教授/學習web應用程序安全。官方網(wǎng)站為:https://www.dvwa.co.ukDVWA共有十二個模塊,分別是BruteForce(暴力破解)、CommandInjection(命令行注入)、CSRF(跨站請求偽造)、FileInclusion(文件包含)、FileUpload(文件上傳)、InsecureCAPTCHA(不安全的驗證碼)、SQLInjection(SQL注入)、SQLInjection(Blind)(SQL盲注)、WeakSessionIDs(弱會話ID)、XSS(DOM)(DOM型跨站腳本)、XSS(Reflected)(反射型跨站腳本)、XSS(Stored)(存儲型跨站腳本)。每個模塊的代碼都有4種安全等級:Low、Medium、High、Impossible。通過從低難度到高難度的測試并參考代碼變化可幫助學習者更快的理解漏洞的原理。DVWA是安全專業(yè)初學者進行Web漏洞學習的非常好的工具。本次任務的目標網(wǎng)站即是使用的

溫馨提示

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

評論

0/150

提交評論