[發(fā)明專利]XSS漏洞檢測方法、系統(tǒng)和Web服務(wù)器有效
| 申請?zhí)枺?/td> | 201410049088.6 | 申請日: | 2014-02-12 |
| 公開(公告)號: | CN104836779B | 公開(公告)日: | 2019-07-26 |
| 發(fā)明(設(shè)計(jì))人: | 王笑天;羅啟武;董曉瓊 | 申請(專利權(quán))人: | 上海攜程商務(wù)有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06;H04L12/26;H04L29/08;G06F21/56 |
| 代理公司: | 上海弼興律師事務(wù)所 31283 | 代理人: | 薛琦;王聰 |
| 地址: | 200335 上海市*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 特征字符串 檢測 測試數(shù)據(jù) 數(shù)據(jù)位置 網(wǎng)頁正文 濾除 網(wǎng)頁 符號組合 檢測系統(tǒng) 腳本事件 數(shù)據(jù)交互 隨機(jī)生成 觸發(fā) 篩選 記錄 | ||
本發(fā)明公開了一種XSS漏洞檢測方法、系統(tǒng)和Web服務(wù)器,其中XSS漏洞檢測方法包括隨機(jī)生成第一特征字符串,并請求網(wǎng)頁;在獲得的第一網(wǎng)頁正文中檢測到第一特征字符串時(shí),生成第二特征字符串,并再次請求所述網(wǎng)頁;獲取各個(gè)網(wǎng)頁正文的DOM樹;篩選并觸發(fā)各個(gè)具有數(shù)據(jù)交互的DOM對象的腳本事件;記錄出現(xiàn)所述第一特征字符串?dāng)?shù)據(jù)位置以及被濾除的特殊符號;將所述第二特征字符串、數(shù)據(jù)位置和被濾除的特殊符號組合為測試數(shù)據(jù);將所述測試數(shù)據(jù)通過XSS漏洞檢測方式進(jìn)行XSS漏洞檢測。本發(fā)明還提供一種使用所述方法的XSS漏洞檢測系統(tǒng)和Web服務(wù)器。本發(fā)明的XSS漏洞檢測方法和系統(tǒng)提高了XSS漏洞檢測效率和準(zhǔn)確性。
技術(shù)領(lǐng)域
本發(fā)明涉及一種Web(網(wǎng)絡(luò)、互聯(lián)網(wǎng))應(yīng)用測試工具,特別是涉及一種Web應(yīng)用中的XSS(又叫CSS(Cross Site Script),跨站腳本攻擊)漏洞檢測方法和系統(tǒng)。
背景技術(shù)
目前Web應(yīng)用中的現(xiàn)有的XSS漏洞檢測工具僅通過固定地、簡單的XSS測試用例進(jìn)行循環(huán)提交測試,判斷返回網(wǎng)頁正文中是否包含對應(yīng)的字符串,進(jìn)而判斷是否存在XSS漏洞。這種簡單的測試方式僅僅只能夠工作在一些邏輯簡單的網(wǎng)頁中,并獲得可以接受的測試效果。
但是隨著Web應(yīng)用技術(shù)愈加復(fù)雜,現(xiàn)階段大部分網(wǎng)站的網(wǎng)頁正文的形式日趨復(fù)雜,而且越來越多的網(wǎng)頁中內(nèi)嵌有腳本,例如JS腳本,所以這種XSS漏洞檢測方式已較難應(yīng)對現(xiàn)階段的大多數(shù)網(wǎng)站,而且這種XSS漏洞檢測方式不能對網(wǎng)頁中JS腳本進(jìn)行解析,因此對于通過JS渲染觸發(fā)的XSS漏洞的檢測能力幾乎為零。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是為了克服現(xiàn)有技術(shù)的XSS漏洞檢測方式不適用于復(fù)雜網(wǎng)頁正文的形式以及網(wǎng)頁內(nèi)嵌腳本的缺陷,采用一種XSS漏洞檢測方法和系統(tǒng),通過特定字符對網(wǎng)頁中XSS漏洞位置和特征進(jìn)行動(dòng)態(tài)判斷,并通過邏輯觸發(fā)腳本事件來匹配出適用于復(fù)雜網(wǎng)頁的XSS漏洞的測試用例,從而提高XSS漏洞檢測效率和準(zhǔn)確性。
本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題的:
本發(fā)明提供了一種XSS漏洞檢測方法,其特點(diǎn)是,所述XSS漏洞檢測方法包括以下步驟:
隨機(jī)生成一第一特征字符串,將所述第一特征字符串填充至一GET參數(shù)(網(wǎng)頁正文請求參數(shù))中,并請求網(wǎng)頁;
獲得的網(wǎng)頁正文作為第一網(wǎng)頁正文后,在檢測到所述第一網(wǎng)頁正文中包含所述第一特征字符串時(shí),生成包含一組特殊符號的一第二特征字符串,并將所述第二特征字符串填充至所述GET參數(shù)中,并再次請求網(wǎng)頁;
將再次獲得的網(wǎng)頁正文作為第二網(wǎng)頁正文后,通過QTwebkit(基于開源的WebKitengine的QT(跨平臺C++圖形用戶界面應(yīng)用程序開發(fā)框架)模塊)的API接口(應(yīng)用程序編程接口)獲取第一網(wǎng)頁正文和第二網(wǎng)頁正文的DOM樹;
分別遍歷第一網(wǎng)頁正文和第二網(wǎng)頁正文的DOM(Document Object Model,文件對象模型)樹的各個(gè)DOM對象節(jié)點(diǎn),篩選出具有數(shù)據(jù)交互的DOM對象,并通過QTwebkit的API接口觸發(fā)各個(gè)具有數(shù)據(jù)交互的DOM對象的腳本事件;
遍歷第一網(wǎng)頁正文和第二網(wǎng)頁正文中DOM樹的各個(gè)DOM對象節(jié)點(diǎn),并記錄第一網(wǎng)頁正文中所有出現(xiàn)所述第一特征字符串的DOM對象節(jié)點(diǎn)的數(shù)據(jù)位置以及記錄第二網(wǎng)頁正文中對應(yīng)于第一網(wǎng)頁正文中出現(xiàn)所述第一特征字符串的各個(gè)DOM對象節(jié)點(diǎn)中被濾除的特殊符號;
將所述第二特征字符串、數(shù)據(jù)位置和被濾除的特殊符號組合為多組包括所述第二特征字符串以及至少一個(gè)數(shù)據(jù)位置和一個(gè)被濾除的特殊符號的測試數(shù)據(jù);
將各組測試數(shù)據(jù)加入XSS漏洞檢測的測試用例,并通過XSS漏洞檢測方式對根據(jù)網(wǎng)頁請求獲得的網(wǎng)頁正文進(jìn)行XSS漏洞檢測。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于上海攜程商務(wù)有限公司,未經(jīng)上海攜程商務(wù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410049088.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 一種手機(jī)測試數(shù)據(jù)整合系統(tǒng)及方法
- 測試數(shù)據(jù)獲取方法、客戶端與服務(wù)器
- 一種GSM-R網(wǎng)絡(luò)在線實(shí)時(shí)測試系統(tǒng)及方法
- 一種測試數(shù)據(jù)積累方法及裝置
- 用于處理測試數(shù)據(jù)的方法和裝置
- 一種GUI測試的測試數(shù)據(jù)創(chuàng)建方法、裝置、終端及存儲介質(zhì)
- 觸控裝置及其驅(qū)動(dòng)方法
- 生成測試數(shù)據(jù)的方法及裝置
- 測試數(shù)據(jù)預(yù)測方法及裝置、處理設(shè)備
- 測試數(shù)據(jù)生成方法及裝置





