偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

基于QtWebKit的DOM跳轉(zhuǎn)漏洞檢測(cè)技術(shù)

安全 漏洞
任意跳轉(zhuǎn)漏洞主要是指負(fù)責(zé)轉(zhuǎn)向的程序沒(méi)有驗(yàn)證目標(biāo)網(wǎng)站合法性,直接根據(jù)傳入的URL跳轉(zhuǎn),其危害主要是能被壞人用來(lái)釣魚。

1、前言

1.1 任意跳轉(zhuǎn)漏洞及其危害

任意跳轉(zhuǎn)漏洞主要是指負(fù)責(zé)轉(zhuǎn)向的程序沒(méi)有驗(yàn)證目標(biāo)網(wǎng)站合法性,直接根據(jù)傳入的URL跳轉(zhuǎn),其危害主要是能被壞人用來(lái)釣魚。

 

 

圖1 最近TSRC上報(bào)的釣魚示例

1.2 跳轉(zhuǎn)漏洞的檢測(cè)難點(diǎn)

普通的跳轉(zhuǎn)漏洞沒(méi)有太大檢測(cè)難點(diǎn),可以直接通過(guò)HTTP返回頁(yè)面源碼的特征匹配來(lái)發(fā)現(xiàn),本文想重點(diǎn)探討下如何自動(dòng)檢測(cè)DOM跳轉(zhuǎn)漏洞以及多次跳轉(zhuǎn)才能跳到釣魚網(wǎng)站的漏洞。

2、QtWebKit

關(guān)于qtwebkit的原理及其編譯運(yùn)行已在之前的tsrc博客做了較詳細(xì)說(shuō)明,這里不再贅述,具體參見(jiàn)http://security.tencent.com/index.php/blog/msg/12。

3、基于QtWebKit的DOM跳轉(zhuǎn)漏洞檢測(cè)系統(tǒng)

3.1 檢測(cè)原理

Hook Webkit的所有Http請(qǐng)求,判斷目標(biāo)網(wǎng)站的url是否出現(xiàn)在最終的Http請(qǐng)求中,如果出現(xiàn)則說(shuō)明存在任意跳轉(zhuǎn)漏洞。理論上,所有普通瀏覽器能跳轉(zhuǎn)的漏洞,Webkit內(nèi)核都能自動(dòng)跳轉(zhuǎn),因而本方法能檢測(cè)所有跳轉(zhuǎn)漏洞且不會(huì)有誤報(bào)。

3.2 如何hook Http請(qǐng)求

Webkit內(nèi)部的信號(hào)機(jī)制可以幫助我們完美的hook所有Http請(qǐng)求,關(guān)于信號(hào)機(jī)制的原理Webkit開(kāi)源社區(qū)已有比較專業(yè)詳細(xì)的介紹,這里不再贅述。本方法中通過(guò)在http發(fā)包請(qǐng)求類里自定義并發(fā)射信號(hào)hookCgi,在應(yīng)用層監(jiān)聽(tīng)hookCgi信號(hào),從而實(shí)現(xiàn)在應(yīng)用層旁路監(jiān)聽(tīng)到Webkit所有的Http請(qǐng)求,同時(shí)完全不影響Webkit正常的請(qǐng)求邏輯。

如圖3.1,3.2,應(yīng)用層監(jiān)聽(tīng)hookCgi信號(hào),當(dāng)webkit內(nèi)核觸發(fā)http請(qǐng)求時(shí),發(fā)送hookCgi信號(hào),從而觸發(fā)自定義的GetHookCgi槽函數(shù),如果槽函數(shù)中發(fā)現(xiàn)了目標(biāo)釣魚站點(diǎn)的Http請(qǐng)求,則發(fā)現(xiàn)任意跳轉(zhuǎn)漏洞。

 

 

圖3.1 應(yīng)用層監(jiān)聽(tīng)hookCgi信號(hào)

 

 

圖3.2 hookCgi信號(hào)對(duì)應(yīng)的槽函數(shù)

3.3 檢測(cè)Demo示例

圖3.3和圖3.4示例了Dom跳轉(zhuǎn)漏洞源碼及其檢測(cè)。與普通跳轉(zhuǎn)漏洞不同的是,Dom跳轉(zhuǎn)漏洞的檢測(cè)難點(diǎn)是在返回頁(yè)面源碼中找不到目標(biāo)URL的特征,本方法基于跳轉(zhuǎn)行為而不基于特征匹配,因而不會(huì)有誤報(bào)且發(fā)現(xiàn)能力極強(qiáng)。

 

 

圖3.3 Dom跳轉(zhuǎn)漏洞源碼示例

 

 

圖3.4 Dom跳轉(zhuǎn)漏洞檢測(cè)

如圖1所示是近期TSRC上報(bào)的一個(gè)實(shí)際DOM跳轉(zhuǎn)漏洞,該漏洞要經(jīng)過(guò)兩次跳轉(zhuǎn)才能最終跳轉(zhuǎn)到目標(biāo)網(wǎng)站,如圖3.5是該漏洞的抓包示例。如圖3.6所示,我們也可以檢測(cè)此類多次跳轉(zhuǎn)的漏洞場(chǎng)景。事實(shí)上,不管經(jīng)過(guò)幾次跳轉(zhuǎn),只要能跳到釣魚網(wǎng)站,我們都能發(fā)現(xiàn)。

 

 

圖3.5 經(jīng)過(guò)兩次跳轉(zhuǎn)才最終跳到釣魚網(wǎng)站

 

 

圖3.6 多次跳轉(zhuǎn)漏洞的檢測(cè)

補(bǔ)充說(shuō)明下,對(duì)于非Dom的普通跳轉(zhuǎn),本方法亦能有效發(fā)現(xiàn),如圖3.7和圖3.8所示。

 

 

圖3.7 普通跳轉(zhuǎn)漏洞源碼示例

 

 

圖3.8 普通跳轉(zhuǎn)漏洞檢測(cè)

4、總結(jié)

實(shí)際上,我們可以基于QtWebKit做很多其他事情,比如開(kāi)發(fā)爬取Web2.0鏈接的爬蟲,后續(xù)將對(duì)這些系統(tǒng)另文介紹。

跳轉(zhuǎn)的檢測(cè)方法還有很多,筆者這里只是拋磚引玉,歡迎大家多多批評(píng)指正,有任何問(wèn)題歡迎隨時(shí)交流。

責(zé)任編輯:藍(lán)雨淚 來(lái)源: TSRC
相關(guān)推薦

2013-01-09 15:27:45

DOM XSS檢測(cè)QtWebKitXSS

2015-12-29 14:51:51

漏洞檢測(cè)工具IEFuzz

2016-03-31 15:25:09

2023-10-10 19:00:57

云網(wǎng)關(guān)報(bào)文檢測(cè)

2016-06-07 10:47:42

2017-07-19 11:11:40

CTS漏洞檢測(cè)原理淺析

2017-01-09 17:17:38

2010-09-28 15:27:09

JavaScript

2012-03-20 16:31:13

2010-01-25 11:28:59

2020-12-08 06:19:33

爬蟲Dom樹(shù)組件

2016-09-23 11:46:00

網(wǎng)絡(luò)硬件

2024-03-14 14:16:13

2010-01-20 16:13:15

2013-01-09 14:17:59

2016-10-07 19:23:05

2018-11-13 08:00:14

蘇寧iOS開(kāi)發(fā)

2023-12-01 16:21:42

2015-02-06 15:51:11

2023-05-26 00:04:02

軟件安全漏洞
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)