freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于模糊測試的漏洞發(fā)現——跨站腳本模糊測試畢業(yè)設計論文(編輯修改稿)

2025-07-24 20:18 本頁面
 

【文章內容簡介】 的原因,是Web應用程序過度信賴用戶的輸入,CGI程序沒有對用戶提交的變量中的HTML代碼進行過濾和轉換。CGI輸入有兩種形式,顯示輸入和隱式輸入。其中顯示輸入明確要求用戶輸入數據,而隱式輸入則本來并不要求用戶輸入數據,但是用戶卻可以通過輸入數據來進行干涉。顯示輸入又可以分為兩種,輸入完成立刻輸出結果;輸入完成先存儲在文本文件或數據庫中,然后再輸出結果,后者可能會讓網站面目全非。從引起跨站腳本的觸發(fā)原因分為以下兩種。a.閉合標簽瀏覽的網頁全部都是基于超文本標記語言HTML創(chuàng)建的HTML文檔。XSS的原理也就是往HTML文檔中注入腳本,HTML指定了腳本標記script/script。在沒有過濾字符的情況下,只需要保持完整無錯的腳本標記即可觸發(fā)XSS,假如在某個資料表單提交內容,表單提交內容就是某個標記屬性所賦的值,可以構造閉合標記來構造完整無錯的腳本標記。例如HTML文檔中的一個超鏈接:A HREF=IT168安全頻道/A就可以構造閉合標記:scriptalert(39。XSS39。)。/script結果形成了A HREF=scriptalert(39。XSS39。)。/script。這樣就產生了跨站腳本。綜上所述,測試閉和表單賦值所在的標記,形成完整無錯的腳本標記可觸發(fā)XSS。b. 標簽屬性賦值有些時候是沒有腳本標記的,這時可以利用其他標記,假如要在網頁里顯示一張圖片,那么就要使用一個img標記,示例如下:img src=://.***./img標記并不是真正地把圖片給加入到Html文檔把兩者合二為一,而是通過src屬性賦值。那么瀏覽器的任務就是解釋這個img標記,訪問src屬性所賦的值中的URL地址并輸出圖片。瀏覽器不會檢測src屬性所賦的值,這時可以利用JavaScript腳本語言的一個URL偽協議,觸發(fā)跨站腳本。URL偽協議說明符為”javascript:”,這種協議說明符加上任意的javascript代碼,當瀏覽器裝載這樣的URL時,便會執(zhí)行其中的代碼。于是就得出了一個經典的XSS示例:img src=javascript:alert(39。XSS39。)。構造過程如下:首先尋找到沒有驗證和過濾客戶端輸入的輸入圖片處,然后用記事本寫下如下代碼:img src=javascript:alert(39。XSS39。)。,然后修改創(chuàng)建的文件的格式為可以上傳的圖片的格式,這樣便有可能觸發(fā)跨站腳本,如下圖21: 圖2 1跨站腳本觸發(fā)圖當然并不是所有標記的屬性都能用,標記的屬性在訪問文件才觸發(fā)的XSS,離開標記的屬性還有事件能幫助觸發(fā)XSS。只有達到某個條件才會引發(fā)事件,正巧img標記有一個可以利用的onerror()事件,當img標記內含有一個onerror()事件而正好圖片沒有正常輸出便會觸發(fā)這個事件,而事件中可以加入任意的腳本代碼,:img src= onerror=alert(39。XSS39。)這種情況下觸發(fā)漏洞的過程如下:首先在記事本文本中輸入上面的代碼img src= onerror=alert(39。XSS39。),然后將文件名修改為可以上傳的圖片格式,這是在加載圖片的時候,不能找到正確的圖片URL,于是觸發(fā)事件onerror,從而觸發(fā)的彈框XSS漏洞。c. 跨站腳本成因總結由此可見,觸發(fā)一個XSS漏洞就是利用Web應用程序中程序員的失誤,通過客戶端影響Web服務器的輸出,即修改Web服務器傳送給客戶端的HTML,而要達到觸發(fā)一個XSS跨站腳本的目的,就必須從用戶的輸入入手,將輸入值插入到服務器返回給的HTML文檔中,這個輸入值是包含HTML語言或者JavaScript語言或者其他腳本語言的合法的值,這個輸入值沒有被GUI程序檢驗和過濾。構造出完整無錯的腳本標記。構造的過程可能是:直接構造出完整無錯的腳本標記,或者通過訪問文件的標記屬性和觸發(fā)事件來構造。 需要補充一點的是,Web應用程序在開發(fā)過程中,是應該采用一定的安全策略的。那就是當JavaScript的使用者同時開啟多個瀏覽器視窗時,在有些時候,網頁里面的片段程式碼被允許從另一個網頁取出,所以某些惡意網站可以用這個方法來嘗試竊取機密信息。這應當是被禁止的,為了解決這個問題,瀏覽器采用了允許來自相同網域名稱系統和使用相同協定的網頁之間進行互動,而不允許不相同網域域名系統和使用不相同協定的網頁之間進行互動,這樣就使得惡意網站無法借由Javascript在另一個瀏覽器竊取機密資料。這就是使用“同源策略”保護受害者免受惡意的危害。然而有些網站不能正確實現同源策略或者說同源策略本身也存在弱點,攻擊者就可以利用這些去發(fā)現可以巧妙的注入惡意指令碼到其他網頁的方法,從而可以得到更高的特權,竊取機密的網頁內容、會談的cookie、以及許多其他的物件。上面一小節(jié)已經詳細闡述了跨站腳本的成因,下面將闡述一下跨站腳本的分類??缯灸_本的實質是注入的問題,現在并沒有一個單一的,標準的分類方法。但是許多專家將跨站腳本分為至少兩大類:Nonpersistent(非持久型)和Persistent(持久型)。 Nonpersistent(非持久型)這種跨站腳本又被稱為反射型跨站腳本。如果Web客戶端提供的數據立即被服務器端腳本所使用,生成并返回給用客戶端結果頁面,而服務器端腳本在使用這些數據之前沒有正確的審查這些數據。就有可能導致客戶端代碼注入到返回的結果頁面中。如Web客戶端提供的HTTP查詢參數或者提供的HTML表單未被正確的審核卻被立即使用時。一個典型的例子是一個網站的搜索引擎:搜索一個字符串,搜索的字符串又被原封不動地重新顯示在結果頁中逐字說明是什么搜索。如果搜索引擎沒有對搜索的字符串進行正確的審核,就有可能導致一個非持久型的跨站腳本。本文將重點研究此種類型的漏洞。 針對此類漏洞,攻擊者可以構造具威脅性的攻擊代碼,并騙取受害用戶點擊生成的鏈接,從而危害到用戶的安全。 Persistent(持久型)持久型跨站腳本又被稱為存儲型跨站腳本,它是一個跨站腳本更具破壞力的變體:攻擊者提供的數據被保存在服務器中,然后在其他用戶常規(guī)的瀏覽過程中,持久地顯示在返回給用戶的正常的網頁結果中。這種類型的跨站腳本的執(zhí)行過程和非持久型的執(zhí)行過程類似,但是它的危害更加嚴重,因為攻擊者的腳本自動提交,而不需要引誘目標受害人點擊攻擊者的第三方網站。而且,攻擊者利用持久型跨站腳本時,只需要進行一次腳本注入就能引發(fā)多次攻擊事件。跨站腳本蠕蟲便是利用這類漏洞編寫的。尤其是在社交網站的情況下,代碼將進一步設計并自行在賬戶上宣傳,營造出一個客戶端的蠕蟲病毒類型。 跨站攻擊跨站攻擊,即Cross Site Script Execution(通常簡寫為XSS)是指攻擊者利用網站程序對用戶輸入過濾不足,輸入可以顯示在頁面上對其他用戶造成影響的HTML代碼,從而盜取用戶資料、利用用戶身份進行某種動作或者對訪問者進行病毒侵害的一種攻擊方式。利用跨站腳本進行跨站攻擊,一般會有以下幾種危害:a. 獲取其他用戶Cookie中的敏感數據b. 屏蔽頁面特定信息c. 偽造頁面信息d. 拒絕服務攻擊e. 突破外網內網不同安全設置f. 和其他漏洞結合,修改系統設置,查看文件系統,執(zhí)行系統命令等g.其他 跨站腳本的利用模式針對每一類漏洞不同的特點,攻擊者利用上述幾類跨站點腳本漏洞時會有特定的利用模式。下面將分別敘述。非持久型跨站腳本的典型利用模式如下:a.Alice經常瀏覽Bob所有的某個網站。Alice使用自己的用戶名和口令進行登錄,并儲存了敏感信息(如:銀行賬戶信息);b.Mallory發(fā)現Bob的站點中存在反射型跨站腳本;c.Mallory構造一個利用f.此漏洞的惡意URL,并將其冒充為來自Bob的郵件發(fā)送給Alice;g.Alice在登錄到Bob的站點后,打開了Mallory提供的URL;h.嵌入到URL中的惡意腳本會在Alice的瀏覽器中執(zhí)行;而對Alice而言,這段腳本就像直接來自Bob的服務器一樣。此腳本會竊取Alice的敏感信息,然后在Alice完全不知情的情況下將這些信息發(fā)送到Mallory的站點或信箱中。持久型跨站腳本的典型利用模式如下:a.Bob擁有一個Web站點,這站點允許用戶發(fā)布信息,同時瀏覽已發(fā)布的信息;b.Mallory注意到Bob的站點中存在存儲型跨站腳本;c.Mallory發(fā)布一個熱點信息,誘導其它用戶點擊閱讀;d.大量用戶在瀏覽此信息時,其會話cookies或者其它證書在不知不覺中被Mallory盜走;e.Mallory以其它用戶的身份登錄站點,繼續(xù)發(fā)布惡意信息。本章跨站腳本分析介紹了跨站腳的相關理論知識,尤其是從漏洞產生的根源深入分析了跨站腳本的成因,然后又分別介紹了跨站腳本的分類和跨站腳本的危害。其中跨站腳本產生的原因是深入理解模糊測試技術的一個重要的基礎。 第3章 Web模糊測試技術模糊測試技術是國際上最近興起的漏洞挖掘技術,以其自身的方便性和有效性迅速得到了廣大技術人員的青睞,Web模糊測試技術是一種自動化的黑盒測試技術,在Web應用程序安全測試過程中和Web應用程序漏洞挖掘過程中的重要作用得到了越來越多的人的重視。 HTTP狀態(tài)碼和信息頭當一個Web服務器響應一個請求時,它包含一個三位數字碼以確定請求的狀態(tài)。狀態(tài)碼的完整列表可以在RFC2616-超文本傳輸協議-HTTP/ 的第十部分找到。這些狀態(tài)碼可以提供線索以確定哪些模糊請求需要進一步加以研究。例如,Internet服務器錯誤的狀態(tài)碼500可能會提示前面的模糊請求導致了服務器的錯誤。同樣,未授權錯誤的狀態(tài)碼401則提示一個被請求的頁是存在的,但是是受密碼保護的。已經提到HTML狀態(tài)碼是一個非常重要的信息,因為它們對初始請求的成功或失敗提供了一種快捷的可視化的指示。因此,WebFuzz解析原始響應以識別狀態(tài)碼,然后該狀態(tài)碼被單獨顯示在一個表中以詳細描述所有的響應。使用此信息,用戶可以迅速的識別出應當被進一步詳細研究的那些響應。 HTTP協議定義了許多頭信息,而每個頭信息則有一些可以接受的值。本課題中研究的有如下一些: Accept頭信息:指定了可以在響應中使用的媒體類型。 AcceptLanguage:允許用戶指定可以在響應中使用的自然語言的類型。 UserAgent:定義了發(fā)出請求的客戶端(Web瀏覽器)。 Host頭信息:該頭信息定義了為被請求的Web頁提供服務的主機和端口。 Connection頭信息:允許客戶端指定連接所需要的不同選項。 Cookies:可以在計算機的本地硬盤或者內存中被保存一段指定的時間,當前任務完成之后它們將被拋棄。 這些頭信息都可以被作為模糊化測試的變量。 模糊測試原理Fuzzing,模糊測試技術是指,通過模糊器,產生大量半有效數據,將其作為輸入內容發(fā)送給應用程序,并觀察在運行過程中是否有可能發(fā)生諸如崩潰、信息泄露、延遲等各種錯誤,從而判定該應用程序中是否存在漏洞的技術;其通用工作流程如圖31所示。圖3 1 模糊器通用工作流程圖在一定意義上,可以將Fuzzing技術視為一種測試的內容均為負面情形的軟件質量測試技術。Fuzzing技術在大多數情況下用于發(fā)現安全漏洞,從而增強應用程序的可靠性。 模糊器功能需求分析Web應用程序模糊測試是一種特殊形式的網絡協議模糊測試,網絡協議模糊測試將任意的網絡包進行變異,而Web應用模糊測試則特別關注于遵循HTTP規(guī)范的包。將應用所學的知識,開發(fā)一個圖形化的Web應用模糊器WebFuzz,下面來介紹一下該應用程序的功能需求。 請求對一個Web應用進行模糊測試,需要有一種方式來向它發(fā)送請求,通常情況下,使用一個Web瀏覽器同Web服務器進行通信,它知道如何利用HTTP進行通信,并且能夠將所有雜亂的細節(jié)信息組裝成一個HTTP請求,當使用模糊器進行測試的時候,需要這些信息,來改變請求的所有方面,因此需要將原始請求暴露給終端用戶,并允許對其中的任何部分進行模糊化。該請求包括以下字段:主機,端口,超時,請求頭,其中將請求的所有組成部分保持在一個段可寫的文本字段中,從而從終端控制請求的各個方面。各字段介紹如下:a. 主機目標機器的名字和IP地址是所需要的一個字段。對一個Web應用進行模糊測試,需要知道WebFuzz向何處發(fā)送請求。這不是一個可以進行模糊測試的字段。b. 端口:盡管Web應用在默認情況下運行在TCP端口80,然而它們也可以方便的運行在其它任意的TCP端口。實際上,通常將Web應用設計為提供一個基于Web的管理控制臺,以使其運行在一個可選的端口而不干擾主要的Web服務器。同主機名一樣,端口字段也是告訴WebFuzz向何處發(fā)送請求,同時,它也不是一個可以進行模糊測試的字段。c. 超時由于的目的是發(fā)送非標準的Web請求,因此,目標應用程序通常不會以一種及時的方式來作出響應。因此,包含了一個用戶定義的、以毫秒計的超時值。當記錄一個請求的響應超時時,這種記錄是非常重要的,因為它可以指明的請求使得目標程序離線,從而導致一個潛在的DoS漏洞。d. 請求頭這是操作執(zhí)行的起點。當使用一個Web瀏覽器時,終端用戶可以控制目標主機、端口以及請求URI,但卻不能控制所有不同的頭信息。有意將請求的所有組成部分保持在一個單獨的可寫的文本字段中,因為希望終端用戶能夠控制請求的各個方面。可以通過簡單的將所需要的請求敲進請求頭字段中來手工的創(chuàng)建一個請求。另外,如果你傾向于使用點擊的方法,那么也可以使用上下文菜單中所提供的標準頭列表來拼湊一個頭。最后一個選項是如果默認Web頁需要一個基本請求,那么允許從上下文菜單中選擇默認頭。 模糊變量模糊變量是指在請求中將要被模糊數據所代替的那些區(qū)域。對發(fā)送給Web服務器的原始請求有著完整的控制權。模糊變量需要被直接添加到原始請求中,并通過方括號中的變量名來識別。設計創(chuàng)建模糊變量的函數時,可以將他們劃分為兩個基本類型,靜態(tài)列表或生成變量。還可以在一個單一
點擊復制文檔內容
醫(yī)療健康相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1