xss 全编码两次_XSS进阶
原標(biāo)題:XSS進(jìn)階
1、XSS常用語句及編碼繞過
XSS常用的測試語句有:
●<>alert(1)>
●
●
●
常見的XSS的繞過編碼有JS編碼、HTML實(shí)體編碼和URL編碼。
(1)JS編碼
JS提供了四種字符編碼的策略,如下所示。
●三個(gè)八進(jìn)制數(shù)字,如果個(gè)數(shù)不夠,在前面補(bǔ)0,例如“e”的編碼為“145”。
●兩個(gè)十六進(jìn)制數(shù)字,如果個(gè)數(shù)不夠,在前面補(bǔ)0,例如“e”的編碼為“x65”。
●四個(gè)十六進(jìn)制數(shù)字,如果個(gè)數(shù)不夠,在前面補(bǔ)0,例如“e”的編碼為“u0065”。
●對(duì)于一些控制字符,使用特殊的C類型的轉(zhuǎn)義風(fēng)格(例如n和r)。
(2)HTML實(shí)體編碼
命名實(shí)體:以&開頭,以分號(hào)結(jié)尾的,例如“
字符編碼:十進(jìn)制、十六進(jìn)制ASCII碼或Unicode字符編碼,樣式為“數(shù)值;”,例如“
(3)URL編碼
這里的URL編碼,也是兩次URL全編碼的結(jié)果。如果alert被過濾,結(jié)果為%25%36%31%25%36%63%25%36%35%25%37%32%25%37%34。
在使用XSS編碼測試時(shí),需要考慮HTML渲染的順序,特別是針對(duì)多種編碼組合時(shí),要選擇合適的編碼方式進(jìn)行測試。
2、使用XSS平臺(tái)測試XSS漏洞
首先在XSS平臺(tái)注冊(cè)賬并登錄,單擊“我的項(xiàng)目”中的“創(chuàng)建”按鈕,如圖1所示。
圖1 XSS平臺(tái)首頁
頁面中的名稱和描述是分類的,隨意填寫即可。勾選“默認(rèn)模塊”選項(xiàng)后單擊“下一步”按鈕,如圖2所示。
圖2 XSS平臺(tái)模塊
頁面上顯示了多種利用代碼,在實(shí)際情況中,一般會(huì)根據(jù)HTML源碼選擇合適的利用代碼,以此構(gòu)造瀏覽器能夠執(zhí)行的代碼,這里選擇第一種利用代碼,如圖3所示。
圖3 XSS平臺(tái)可利用的攻擊代碼
將利用代碼插入到存在XSS漏洞的URL后,查看源代碼。發(fā)現(xiàn)瀏覽器成功執(zhí)行XSS的利用代碼,如圖4所示。
圖4 目標(biāo)用戶訪問的惡意鏈接
回到XSS平臺(tái),可以看到我們已經(jīng)獲取了信息,其中包含來源地址、cookie、IP、瀏覽器等,如果用戶處于登錄狀態(tài),可修改cookie并進(jìn)入該用戶的賬戶,如圖5所示。
圖5 在XSS平臺(tái)獲取目標(biāo)用戶的cookie信息
3、XSS漏洞修復(fù)建議
因?yàn)閄SS漏洞涉及輸入和輸出兩部分,所以其修復(fù)也分為兩種。
●過濾輸入的數(shù)據(jù),包括“'”“””“”“on*”等非法字符。
●對(duì)輸出到頁面的數(shù)據(jù)進(jìn)行相應(yīng)的編碼轉(zhuǎn)換,包括HTML實(shí)體編碼、Java編碼等。返回搜狐,查看更多
責(zé)任編輯:
總結(jié)
以上是生活随笔為你收集整理的xss 全编码两次_XSS进阶的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 消极颓废的网名大全91个
- 下一篇: taro 重新加载小程序_Taro开发微