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

正文內(nèi)容

基于模糊測試的漏洞發(fā)現(xiàn)——跨站腳本模糊測試畢業(yè)設(shè)計論文-資料下載頁

2025-08-22 17:27本頁面

【導讀】務(wù)器中,很多計算機病毒、蠕蟲等都是利用了跨站腳本,其危害性甚大。用程序中跨站腳本漏洞,成了Web應(yīng)用程序開發(fā)人員關(guān)注的重要問題。在分析跨站腳本成因時,提出了利用源代碼挖掘跨站腳本的方法。糊測試技術(shù)的核心算法。步驟,使用模糊器挖掘若干未知漏洞。最后應(yīng)用模糊測試技術(shù),發(fā)掘未知跨站腳本漏洞,并做收集記錄添加在附錄C中。本文研究意義為:能迅速挖掘跨站腳本漏洞,能有效測試Web應(yīng)用程序中的跨站腳本。

  

【正文】 3 1 模糊器通用工作流程圖 在一定意義上,可以將 Fuzzing 技術(shù)視為一種測試的內(nèi)容均為負面情形的軟件質(zhì)量測試技術(shù)。 Fuzzing 技術(shù)在大多數(shù)情況下用于發(fā)現(xiàn)安全漏洞,從而增強應(yīng)用程序的可靠性。 模糊器功能需求分析 Web 應(yīng)用程序模糊測試是一種特殊形式的網(wǎng)絡(luò)協(xié)議模糊測試,網(wǎng)絡(luò)協(xié)議模糊測試將任意的網(wǎng)絡(luò)包進行變異,而 Web 應(yīng)用模糊測試則特別關(guān)注 于 遵循 HTTP 規(guī)范的包。將應(yīng)用所學的 知識,開發(fā)一個圖形化的 Web 應(yīng)用模糊器 WebFuzz,下面來介紹一下該應(yīng)用程序的功能需求。 中原工學院計算機學院畢業(yè)(設(shè)計)論文 17 請求 對一個 Web 應(yīng)用進行模糊測試,需要有一種方式來向它發(fā)送請求,通常情況下,使用一個 Web 瀏覽器同 Web 服務(wù)器進行通信,它知道如何利用 HTTP 進行通信,并且能夠?qū)⑺须s亂的細節(jié)信息組裝成一個 HTTP 請求,當使用模糊器進行測試的時候,需要這些信息,來改變請求的所有方面,因此需要將原始請求暴露給終端用戶,并允許對其中的任何部分進行模糊化。該請求包括以下字段:主機 ,端口,超時,請求頭,其中將請求的所有組成部分 保持在一個段 可寫的文本字段中,從而從終端控制請求的各個方面。各字段介紹如下: a. 主機 目標機器的名字和 IP 地址是所需要的一個字段。對一個 Web 應(yīng)用進行模糊測試,需要知道 WebFuzz 向何處發(fā)送請求。這不是一個可以進行模糊測試的字段。 b. 端口: 盡管 Web 應(yīng)用在默認情況下運行在 TCP 端口 80,然而它們也可以方便的運行在其它任意的 TCP 端口。實際上,通常將 Web 應(yīng)用設(shè)計為提供一個基于 Web 的管理控制臺,以使其運行在一個可選的端口而不干擾主要的 Web 服務(wù)器。同主機名一樣,端口字段也是告訴 WebFuzz 向何處發(fā)送請求, 同時,它也不是一個可以進行模糊測試的字段。 c. 超時 由于的目的是發(fā)送非標準的 Web 請求,因此,目標應(yīng)用程序通常不會以一種及時的方式來作出響應(yīng)。因此,包含了一個用戶定義的、以毫秒計的超時值。當記錄一個請求的響應(yīng)超時時,這種記錄是非常重要的,因為它可以指明的請求使得目標程序離線,從而導致一個潛在的 DoS 漏洞。 d. 請求頭 這是操作執(zhí)行的起點。當使用一個 Web 瀏覽器時,終端用戶可以控制目標主機、端口以及請求 URI,但卻不能控制所有不同的頭信息。有意將請求的所有組成部分保持在一個單獨的可寫的文本字段中,因為希望終端用戶能 夠控制請求的各個方面??梢酝ㄟ^簡單的將所需要的請求敲進請求頭字段中來手工的創(chuàng)建一個請求。另外,如果你傾向于使用點擊的方法,那么也可以使用上下文菜單中所提供的標準頭列表來拼湊一個頭。最后一個選項是如果默認 Web 頁需要一個基本請求,那么允許從上下文菜單中選擇默認頭。 李宗輝:基于模糊測試的漏洞發(fā)現(xiàn) 18 模糊變量 模糊變量是指在請求中將要被模糊數(shù)據(jù)所代替的那些區(qū)域。對發(fā)送給 Web 服務(wù)器的原始請求有著完整的控制權(quán)。模糊變量需要被直接添加到原始請求中,并通過方括號中的變量名來識別。設(shè)計創(chuàng)建模糊變量的函數(shù)時,可以將他們劃分為兩個基本類型,靜態(tài) 列表或生成變量。還可以在一個單一的請求中定義多個模糊變量。 響應(yīng) WebFuzz 捕獲所有的響應(yīng)結(jié)果并將其以原始格式保存。的工具 WebFuzz 需要將所有的響應(yīng)結(jié)果捕獲并將其以原始格式保存。用不同的格式來靈活地顯示響應(yīng)。特別的是可以查看 HTML。通過查看相應(yīng)可以發(fā)現(xiàn)漏洞線索。 模糊器框架設(shè)計 文 WebFuzz 模糊測試工具采取了 Fuzzing 技術(shù),要對 Web 應(yīng)用程序和服務(wù)器進行模糊測試,首先要給定一個 Web 應(yīng)用的入口網(wǎng)址,或者最好是直接給出需要測試網(wǎng)頁的具體網(wǎng)址。對單個網(wǎng)頁的漏洞挖掘流程如下圖 32 所示: 圖 3 2 對單個網(wǎng)頁的漏洞挖掘流程 其中響應(yīng)信息中可能存在的特定數(shù)據(jù)一般是和畸形數(shù)據(jù)相對應(yīng)的一段腳本語言代碼。一般情況下,只需要檢測服務(wù)器響應(yīng)信息中是否存在上述字段,就可以大中原工學院計算機學院畢業(yè)(設(shè)計)論文 19 致判斷是否存漏洞。然而,如果攻擊向量的選擇不當,或沒有充分判斷服務(wù)器對攻擊向量各種可能的響應(yīng)情況,則有可能出現(xiàn)一定程度的漏報和誤報。因此,為保證工具的運行效果,應(yīng)對攻擊向量和其作用結(jié)果進行深入分析。 WebFuzz 對于單個網(wǎng)頁的挖掘思路也正如上所述。進一步的, WebFuzz 實現(xiàn)了漏洞挖掘的自動化。 從供給者角度出發(fā),通過模擬一次真實的攻擊事件對服務(wù)器的業(yè)務(wù)處理進行分析,從而實現(xiàn)漏洞檢測。如下圖 33 所示。 圖 3 3 漏洞檢測流程 WebFuzz 模糊測試工具主要由生成攻擊模塊和響應(yīng)分析模塊構(gòu)成,完成測試,而漏洞檢測的前期測試模塊主要是為了尋找測試的切入點。 模糊器設(shè)計核心函數(shù) 模糊器設(shè)計涉及到的 核心類或者方法有入口函數(shù)、 Web 應(yīng)用程序窗體框架類frmWebFuzz、 發(fā)送網(wǎng)絡(luò)數(shù)據(jù)請求的 sendRequest 類、 構(gòu) 造畸形數(shù)據(jù)的構(gòu)造器類Generate、 讀取文件的類 Read、 以及記錄客戶端狀態(tài)的類 ClientState。限于文章篇幅,這里不能一一列舉出來,這里 主要介紹模糊器最核心的部分,具體的源代碼在附錄 B 中。 生成請求 在發(fā)送一個請求之前,必須要首先確定發(fā)送的內(nèi)容。此內(nèi)容是從用戶創(chuàng)建請求的請求頭窗口獲得的, 每個模糊變量 [xxx]必須被實際的模糊數(shù)據(jù)所替代。一旦用戶在 btnRequest_Click()方法中點擊請求按鈕,那么 生成請求 過程就開始執(zhí)行。 當生成請求以后,就開始執(zhí)行一個循環(huán),該循環(huán)連續(xù)的解析用戶 提供的數(shù)據(jù)直到在請求中遇到模糊變量。然后轉(zhuǎn)到一個 switch 中的 case 語句 ,以確定對每個模糊變量執(zhí)行何種操作。 比如搜索到模糊變量 [XSS],就會轉(zhuǎn)到 switch 語句中 case XSS 語句。 李宗輝:基于模糊測試的漏洞發(fā)現(xiàn) 20 對 來自于靜態(tài)列表( SQL, XSS 和 Method)的那些模糊變量,創(chuàng)建了一個新的Read()類,并且將包含模糊變量的 ASCII 文本文件的名字傳遞給構(gòu)造器 Generate() 。生成的變量(溢出,遍歷和格式化)實例化一個新的 Generate()類,并傳遞將要被重復的字符串、該字符串的總長度以及該字符串將要被傳遞的次數(shù)。 該 過程可以用一下流程圖 34 來說明: 圖 3 4 模糊器生成請求流程圖 sendRequest 類 構(gòu)造好了含有模糊變量的發(fā)送數(shù)據(jù),是關(guān)鍵的 一步,還要將構(gòu)造好的數(shù)據(jù)發(fā)送出去,但是由于創(chuàng)建的是畸形的請求數(shù)據(jù),這就確定了 不能使用各種庫中封裝好的發(fā)送網(wǎng)絡(luò)數(shù)據(jù)的類,需要在最基本的 TcpClient 類的 基礎(chǔ)上,創(chuàng)建有自己特點的發(fā)送數(shù)據(jù)的類 sendRequest。 中原工學院計算機學院畢業(yè)(設(shè)計)論文 21 在的例子中,為 WebFuzz 的網(wǎng)絡(luò)通信部分使用了 最基本的 TcpClient 類。 使用TcpClient 類創(chuàng)建了連接服務(wù)器的對象 client,使用 NetWorkStream 類創(chuàng)建了用于網(wǎng)絡(luò)訪問的基礎(chǔ)數(shù)據(jù)流,然后還根據(jù)的需要,設(shè)計了 ClientState 類,用于記錄客戶端的狀態(tài),從而方便下面的工作。 sendRequest 類的工作 可以用一下流程圖 35 來說明: 圖 3 5 模糊器發(fā)送數(shù)據(jù)流程圖 接收響應(yīng) 當響應(yīng)被接收時, WebFuzz 通過將請求、原始響應(yīng)、 HTML 響應(yīng)、主機名和路徑添加到單獨的字符串數(shù)組來將它們進行保存。另外,識別的信息包括狀 態(tài)碼、主機名以及被添加到一個 ListView 控制的請求。通過這種方法,當模糊測試執(zhí)行完畢后,你可以簡單的點擊 ListView 控件中合適的響應(yīng),則詳細信息將被顯示在一系列李宗輝:基于模糊測試的漏洞發(fā)現(xiàn) 22 的被標簽化的超文本框以及 Web 瀏覽器控件中。 接收響應(yīng)中使用到的類或者方法主要有以下幾種: getPath 類,作用是從返回的原始 信息中讀取出需要顯示的路徑,返回的 原始 信息頭部便是路徑,只需根據(jù)特殊字符匹配的方法調(diào)用字符串類方法 (string value)和 (Char, Char) 即可 ;然后向 listview 控件中添加編號、狀態(tài)碼、請求的主機、發(fā)送的攻擊語句,使用的方法為 (String) 方法或者該方法的重載 , 將子項添加到具有指定文本的集合 ;然后分別向顯示控制中添加原始請求、響應(yīng)的源文件、響應(yīng)的 HTML 文件,使用的方法為定義對應(yīng)的可變長度的數(shù)組記錄下相應(yīng)的信息,然后由控件直接讀取,這三種的數(shù)組分別是 string[ ] requestsRaw = new string[1000], string[ ] responsesRaw = new string[1000], string[ ] responsesHtml = new string[1000]。 本章 小 結(jié) 本章主要介紹了 Web 模糊測試技術(shù), 從模糊測試技術(shù)的原理開始,提出了模糊測試器的功能需求和框架設(shè)計 ,還介紹了 HTTP 狀態(tài)碼和信息頭得有關(guān)知識,最后重點分析了模糊器設(shè)計的核心函數(shù)。關(guān)于模糊器的代碼部分,將在附錄 B 中全部列舉出來。 中原工學院計算機學院畢業(yè)(設(shè)計)論文 23 第 4 章 跨站腳本 漏洞 挖掘 本章將通過真實的網(wǎng)絡(luò)上的網(wǎng)站, 來展示使用不同的測試方法 挖掘 跨站腳本 。本文將對比 源 代碼分 析的方法和自動化模糊測試的方法,從而得出自動化模糊測試方法的優(yōu)越性。 源 代碼分析 方法 挖掘 XSS 本節(jié) 將用 源 代碼分析的方法對跨站點腳本( XSS) 進行深入研究,源代碼分析的方式研究 跨站腳本 是屬于白盒測試,用這種方式研究 跨站腳本 ,需要 借助第 2 章的知識, 對 源代碼進行深入分析。需要理解代碼的邏輯關(guān)系。從客戶端提供信息給Web 應(yīng)用程序, Web 應(yīng)用程序處理的請求后會返回信息到的客戶端,這時將查看并分析 Web 應(yīng)用程序返回的源信息,從中找到 跨站腳本 的線索。 非持久型 跨站腳本 在 Web 應(yīng)用程序中存在廣泛,但是危害相對較小 ,但是這種漏洞也不容忽視,攻擊者可以巧妙利用非持久型 跨站腳本 達到攻擊者的目的。在用源代碼測試的過程中,將從教育網(wǎng)站 —— 鄭州大學某一學院網(wǎng)站中選取一個典型的非持久型 跨站腳本 進行分析。 正常狀態(tài)記錄 首先, 進入鄭州大學的學校網(wǎng)站,尋找用戶能夠輸入信息的地方。發(fā)現(xiàn)主頁并沒有想要的能夠構(gòu)成 跨站腳本 的 地方 。然后再次 鏈接進入鄭州大學網(wǎng)站其他站點,選擇進入旅游管理學院的主頁,發(fā)現(xiàn)有一個網(wǎng)站內(nèi)的搜索引擎,用戶可以通過該引擎向 Web 應(yīng)用程序提供數(shù)據(jù)。在鄭州大學旅游管理信息學院主頁的 Web 應(yīng)用搜索引擎里輸入特殊的 字符串 ”/’\,服務(wù)器會返回如下圖 2 的正常狀態(tài)的查詢結(jié)果頁面, 可以看出,該 Web 應(yīng)用沒有過濾用戶輸入的特殊的字符 ”/\’等,將用戶輸入顯示在檢索結(jié)果頁面中, 由此推斷該 Web 應(yīng)用程序中 可能存在 跨站腳本 。 這里需要說明的是, Web 應(yīng)用程序沒有對特殊字符進行過濾,只是說明可能存在 跨站腳本 ,也有可能 Web 應(yīng)用程序者采取了其他的安全措施,使得 Web 應(yīng)用程序并沒有 跨站腳本 ,想想 google 和百度搜索就會知道了。要想知道 Web 應(yīng)用程序是否存在 跨站腳本 ,需要進一步的分析和測試,這時可以采取不同的測試方法,本節(jié)中采取 的是分析返回信息源代碼的方式。 李宗輝:基于模糊測試的漏洞發(fā)現(xiàn) 24 圖 4 1 正 常狀態(tài)查詢結(jié)果頁面 返回信息源代碼 分析 搜索后 Web 應(yīng)用程序返回給一個頁面,這時用瀏覽器 打開 返回頁面的源代碼 ,由于章節(jié)有限,不能粘貼出全部源代碼,只能分析關(guān)鍵的源代碼。 通過分析頁面內(nèi)容,可以知道用戶提交的查詢字符串顯示在返回的頁面中,用戶提交的查詢字符串插入到了返回的源代碼中,插入處得源代碼如下面所示,為明顯起見,將提交的查詢字符串做了 加大字號和 加粗處理。 td align=left background=images/ 您所要搜索的關(guān)鍵字是 font color=red ”/’\ /font,共搜索到 font color=red0/font條記錄! /td 分析上述源代碼: td 標簽定義 HTML 表格中的標準單元格 ; align 屬性表示的是顯示的數(shù)據(jù)左對齊; background 的屬性值表示背景圖片的地址; font 標簽規(guī)定文本的字體外觀、字體尺寸和字體顏色 ,上述源代碼表示用戶提交的查詢字符串 ”/’\顯示為紅色。 可以得到如下 的信息: 1. Web 應(yīng)用程序沒有對特殊字符進行過濾處理; 2. Web應(yīng)用程序沒有采取措施限制用戶提交的查詢字符串的長度。這是可以想到的是如果查詢的是一段 JavaScript 腳本代碼,那么返回的信息中 ”/’\將被這段代碼所代替,但是瀏覽器會執(zhí)行這段 JavaScript 腳本代碼,于是這個 Web 應(yīng)用程序便存在一個 跨站腳本 。 構(gòu)造攻擊代碼: 將這段代碼從搜索框中提交查詢,便會得到如下的返回信息: td align=left background=images/ 您所要搜索的關(guān)鍵字是 font color=red
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1