DOM-XSS漏洞的挖掘與攻擊面延伸_第1頁(yè)
DOM-XSS漏洞的挖掘與攻擊面延伸_第2頁(yè)
DOM-XSS漏洞的挖掘與攻擊面延伸_第3頁(yè)
DOM-XSS漏洞的挖掘與攻擊面延伸_第4頁(yè)
DOM-XSS漏洞的挖掘與攻擊面延伸_第5頁(yè)
已閱讀5頁(yè),還剩32頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、DOM-XSS 漏洞的挖掘與攻擊面延伸技術(shù)創(chuàng)新,變革未來目錄DOM-XSS 挖掘與利用DOM-XSS 常見位置 DOM-XSS 優(yōu)勢(shì)在哪 XSS 巧妙利用DOM-XSS常見位置DOM-XSS 常見位置1、URL代入頁(yè)面這類DOM-XSS是最常見的,它的漏洞點(diǎn)通常是以下形式出現(xiàn)DOM-XSS 常見位置它出現(xiàn)的地方比較多,可能會(huì)是名稱,地點(diǎn),標(biāo)題等等。大多數(shù)情況下它和反射型XSS的區(qū)別不大,最大的區(qū)別是取的值不同。此時(shí)取值時(shí),匹配的URL是location.href,這個(gè)值包含了 location.search 和 location.hash 的值,而 location.hash 的值是不被傳到服

2、務(wù)器,并且能被前端 JS通過 getUrlParam 函數(shù)成功取值。DOM-XSS 常見位置2、跳轉(zhuǎn)在 javascript 語(yǔ)法中,使用如下代碼可以將頁(yè)面進(jìn)行跳轉(zhuǎn)操作DOM-XSS 常見位置這樣的跳轉(zhuǎn)通常會(huì)出現(xiàn)在登錄頁(yè)、退出頁(yè)、中間頁(yè)。如果開發(fā)者讓用戶可以控制 redirecturl 參數(shù),就可以使用 javascript:alert(1) 的形式進(jìn)行XSS攻擊。最近幾年的APP開發(fā)比較熱門,通過web喚起APP的操作也是越來越多,跳轉(zhuǎn)的協(xié)議也 是多種多樣,例如 webview:/ , myappbridge:/等等。僅僅使用 http 和 https 來判斷URL是否合法已經(jīng)不適用了,于是

3、由跳轉(zhuǎn)所產(chǎn)生的DOM-XSS漏洞也逐漸增多。DOM-XSS 常見位置3、postMessagepostMessage 支持跨域使用,使用場(chǎng)景比較廣泛,如支付成功、登錄、退出、喚起APP等等。這段代碼中,監(jiān)聽了message事件,取了 e.data 的值,也就是來自于其他頁(yè)面 上的message消息,但是沒有檢測(cè)來源。如果頁(yè)面允許被嵌套,即可嵌套該頁(yè)面, 再使用 window0.postMessage 即可向該窗口發(fā)送數(shù)據(jù)。DOM-XSS 常見位置DOM-XSS 常見位置4、 與其他 window 對(duì)象不同,它在窗口刷新后會(huì)保留。當(dāng)這個(gè)頁(yè)面刷新跳轉(zhuǎn)到其他網(wǎng)站時(shí),如果這個(gè)網(wǎng)站沒有對(duì) 進(jìn)行設(shè)置,那么

4、當(dāng)前的值仍然是FooDOM-XSS 常見位置5、緩存開發(fā)者在緩存前端數(shù)據(jù)的時(shí)候,通常會(huì)存在 sessionStorage , localStorage , cookie 中,因?yàn)?sessionStorage 在頁(yè)面刷新時(shí)就失效的特性,利用方式相對(duì)簡(jiǎn)單的 只有后面兩種。DOM-XSS 常見位置Cookie根據(jù)瀏覽器的同源策略,Cookie是可以被子域名讀到的。 一旦我們發(fā)現(xiàn)在 /setCookie.php?key=username&value=nick 下可以設(shè)置Cookie, 就可以結(jié)合一些讀取Cookie的頁(yè)面進(jìn)行XSS攻擊。DOM-XSS 常見位置localStoragelocalSto

5、rage 的特性和Cookie類似,但它和Cookie不同的是,Cookie被設(shè)置過之后, 具有有效期這個(gè)特性,而localStorage被設(shè)置過后,只要不手動(dòng)清除或覆蓋,這個(gè)值永遠(yuǎn) 不會(huì)消失。Cookie中通常會(huì)存放少量的緩存信息,像用戶的頭像URL,用戶名等等,而localStorage 中通常會(huì)存放一些大量,需要重復(fù)加載的數(shù)據(jù),如搜索歷史記錄,緩存JS代碼等等。這些 值被修改過以后,大部分開發(fā)者都不會(huì)去校驗(yàn)它的合法性,是否被修改過。DOM-XSS 優(yōu)勢(shì)在哪DOM-XSS 優(yōu)勢(shì)在哪避開WAF正如我們開頭講的第一種DOM-XSS,可以通過 location.hash 的方式,將參數(shù)寫在 #號(hào)

6、后,既能讓JS讀取到該參數(shù),又不讓該參數(shù)傳入到服務(wù)器,從而避免了WAF的檢測(cè)。可以使用 ja%0avasc%0aript:alert(1) , jx61vascript:alert(1) 的形式繞過。可以利用 postMessage,localStorage 等攻擊點(diǎn)進(jìn)行XSS攻擊的,攻擊代 碼不會(huì)經(jīng)過WAF。DOM-XSS 優(yōu)勢(shì)在哪長(zhǎng)度不限當(dāng)我們可以用當(dāng)前頁(yè)面的變量名作為參數(shù)時(shí),可以使用 的方式進(jìn)行攻擊。DOM-XSS 優(yōu)勢(shì)在哪隱蔽性強(qiáng)攻擊代碼可以具有隱蔽性,持久性。例如使用Cookie和localStorage作為攻擊點(diǎn)的DOM-XSS,非常難以察覺,且持續(xù)的時(shí)間 長(zhǎng)。XSS 巧妙利用Ch

7、rome Apichromium支持開發(fā)者擴(kuò)展api。廠商在開發(fā)瀏覽器的時(shí)候,或是為了自己的業(yè)務(wù)需求,或是 出于用戶體驗(yàn),會(huì)給瀏覽器擴(kuò)展上一些自己的接口,這些接口比較隱蔽,且只接口來自于信 任域名的數(shù)據(jù)。但是如果有一個(gè)特殊域名下的XSS,或者這個(gè)特殊域名可以被跨域,甚至可以找任意一個(gè)當(dāng)前 域名的XSS對(duì)它進(jìn)行攻擊。遍歷chrome對(duì)象通過以下代碼就可以對(duì)當(dāng)前頁(yè)面下的 chrome 對(duì)象進(jìn)行遍歷。XSS IN BROWSER有一款瀏覽器,它的接口特別豐富,現(xiàn)在給大家分享以下之前的調(diào)試過程。案例一首先從業(yè)務(wù)入手,找到了一個(gè)叫做game.html的頁(yè)面,觀察到頁(yè)面上大部分是游戲,使用 了上面的代碼對(duì)

8、chrome對(duì)象進(jìn)行遍歷之后,發(fā)現(xiàn)了browser_game_api的對(duì)象,這個(gè)繼續(xù) 遍歷這個(gè)api,看它有哪些變量、函數(shù)和對(duì)象。Download And Run這時(shí)候發(fā)現(xiàn)了一個(gè)函數(shù)叫做 downloadAndRun ,從函數(shù)名來看,這個(gè)函數(shù)執(zhí)行的操作是比較危險(xiǎn)的。那么這些函數(shù)的參數(shù)是什么的,暫時(shí)不知道,就需要從這個(gè)特殊域名下面的頁(yè)面中去找。 根 據(jù)函數(shù)名搜索,很快就找到了這個(gè)函數(shù)調(diào)用的地方。于是構(gòu)造攻擊代碼:跨域調(diào)用又因?yàn)檫@個(gè)站點(diǎn)將自己的 domain 設(shè)置成了 ,于是我們可以通過其他 下的XSS來調(diào)用它頁(yè)面下的接口。利用:首先發(fā)現(xiàn)了 / 下的一個(gè)XSS,利用XSS將當(dāng)前頁(yè)面的documen

9、t.domain 設(shè)置為 ,這樣它就和 game.html 同域了。Run Putty接下來在XSS頁(yè)面執(zhí)行以下代碼,即可在新的窗口彈出 putty.exe 。案例二繼續(xù)遍歷Api,又發(fā)現(xiàn)了一個(gè)特殊的接口,用于設(shè)置用戶的偏好,其中就包含設(shè)置下載目錄。Start Up于是想到了另一種攻擊方式,就是通過調(diào)用它自帶的設(shè)置偏好接口,將用戶的下載目錄設(shè)置 為window的啟動(dòng)目錄 C:UsersUserAppDataRoamingMicrosoftWindowsStart MenuProgramsStartupSet Download Path同樣的,找到一個(gè) 下的XSS,將自身的 domain 設(shè)置成

10、 ,再使用 window.opener 的方式,調(diào)用特殊權(quán)限頁(yè)面的接口進(jìn)行攻擊。案例三早在2014年12月12日,Rapid7報(bào)告了一個(gè)漏洞。利用瀏覽器的UXSS實(shí)現(xiàn)在 Android 4.3 或更低版本的系統(tǒng)上安裝任意APP。利用三部曲第一點(diǎn):使用了UXSS作為攻擊手段,在 下調(diào)用安裝APP的代碼。利用三部曲第二點(diǎn):利用了 的可被嵌套的缺陷。我們知道在Android上是沒有 window.opener 這個(gè)屬性的,不能通過 window.open 一個(gè)窗口再調(diào)用它的函數(shù)。還有 一種利用的方式是通過 iframe 對(duì)它進(jìn)行調(diào)用。利用三部曲第三點(diǎn): 的安裝機(jī)制,是在用戶登錄了瀏覽器之后就可以喚起 Google Play 進(jìn) 行安裝。Install package來看一下完整的攻擊流程首先攻擊者注冊(cè)成為Google開發(fā)者,在應(yīng)用市場(chǎng)上發(fā)布了一款叫做bac

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論