[XSS神器]XssEncode chrome插件 - 0x_Jin
0x_Jin · 2013/11/15 16:44
0x00 閑扯
好吧繼上一篇文章之后,就沒(méi)發(fā)文章了!(其實(shí)是一直在寫(xiě)但是寫(xiě)的很少還湊不起一篇文章而已)
但是這幾天對(duì)插件進(jìn)行了一定的改良了 因?yàn)樵谧约涸趯?shí)際的XSS過(guò)程中也發(fā)現(xiàn)了自己的插件 還不夠強(qiáng)大!
不能夠百分之百的滿(mǎn)足自己的需求!所以就根據(jù)自己平常的需求給加了上去!
我想做到玩XSS一個(gè)工具即可解決需求!所以感覺(jué)即使是現(xiàn)在的插件也還有很大的不足!
所以很希望得到你們的意見(jiàn) 東湊一塊 西湊一塊寫(xiě)成一個(gè)真正的一個(gè)插件解決需求!
(現(xiàn)在想給hook生成功能塊加一個(gè) 是否自動(dòng)把hook轉(zhuǎn)換成短鏈接!但是。。。在技術(shù)上有點(diǎn)問(wèn)題)
另外還有什么其他的功能 或者一些比較猥瑣的小技巧 希望大家提出來(lái) 我加上。。。
比如在chrome里隱藏payload 。。。我一直在想如何才能構(gòu)造一段被chrome認(rèn)為是無(wú)效的字符。。并且還能夠執(zhí)行!
0x01 界面以及功能介紹
兼容性沒(méi)做所以在不同的分辨率下會(huì)亂碼。。。這個(gè)不會(huì)做
分辨率:1280 X 800 ?(求教)
編碼
請(qǐng)把需要編碼的字符放在左邊的輸入框內(nèi) Encode / Decode
然后點(diǎn)擊中間上方的Encode按鈕 選擇你要編碼的類(lèi)型 然后點(diǎn)擊相應(yīng)的按鈕即可!
經(jīng)過(guò)相應(yīng)編碼后的內(nèi)容便會(huì)在右邊的Output框中!
新功能介紹
進(jìn)制編碼常規(guī)變異:
進(jìn)制編碼包括:
html編碼的十進(jìn)制編碼 html編碼的十六進(jìn)制編碼 javascript的十六進(jìn)制編碼 javascript的八進(jìn)制編碼 復(fù)制代碼進(jìn)制編碼常規(guī)變異的功能:
會(huì)給編碼前面的數(shù)字多加7個(gè)0,因?yàn)镮E對(duì)進(jìn)制編碼加0,只識(shí)別到八個(gè)0,多了的話(huà)就認(rèn)為這不是個(gè)有效的值了!
也有很多程序過(guò)濾規(guī)則也是這樣寫(xiě)的!他們會(huì)把你變異了的值給解析回來(lái),然后再判斷是不是危險(xiǎn)字符!
適用場(chǎng)景:
當(dāng)進(jìn)制編碼被解析回來(lái),再次過(guò)濾了的時(shí)候,比如?< 在過(guò)濾程序中被還原回來(lái)再次過(guò)濾了!
但是<沒(méi)有在過(guò)濾程序中被還原回來(lái),但是在頁(yè)面中被瀏覽器被解析還原了,那么就可以用進(jìn)制編碼的常規(guī)變異!
進(jìn)制編碼非常規(guī)變異:
進(jìn)制編碼非常規(guī)變異功能:
會(huì)給編碼的數(shù)字前面多加10個(gè)0!原因同上!
適用場(chǎng)景:
當(dāng)進(jìn)制編碼被解析回來(lái),再次過(guò)濾了的時(shí)候,比如?< 或者 <都被還原回來(lái),再次過(guò)濾的話(huà),那么便可以用非常規(guī)變異!
IE識(shí)別到8個(gè)0 可是chrome能識(shí)別到更多的0!很多過(guò)濾程序都是根據(jù)IE的8個(gè)0來(lái)寫(xiě)的!所以更多的0 也是一種繞過(guò)方式!
使用心得:以上的功能都是自己親身經(jīng)歷到的 當(dāng)時(shí)是某GOV的站 在這里貼出payload吧 以及筆記
search?str=xxxx%3Ca%20href=%22data:text/html;%26%230000000000000000098ase64%26%230000000000000044%20PGltZyBzcmM9eCBvbmVycm9yPWFsZXJ0KDEpPg==%22%3Etest%3C/a%3E 復(fù)制代碼缺陷參數(shù):str
過(guò)濾規(guī)則夠BT 但是同樣能繞!
會(huì)把提交的編碼 給解碼 然后再插入到網(wǎng)頁(yè)中!然后再對(duì)網(wǎng)頁(yè)內(nèi)的值進(jìn)行檢查 過(guò)濾!
base64 --> %26%230000000000000000098ase64
首先%26%23會(huì)被還原成 &# ?于是變成了: b 于是被還原成:b b插入到頁(yè)面 再檢查 b+ase64 ?= base64 滿(mǎn)足規(guī)則 ?于是又過(guò)濾成 base64 ?繞過(guò)失敗!
但是如果b的html十進(jìn)制編碼 再多加幾個(gè)000 ?便不會(huì)被他給解碼 ?但是在瀏覽器中又會(huì)被解碼 于是便可以這樣繞過(guò)!
html編碼去分號(hào):
(此選項(xiàng)可配合其他選項(xiàng)一起使用 比如進(jìn)行html編碼時(shí) 勾選常規(guī)變異 + 去html編碼分號(hào))
ps:小伙伴們勿淘氣別選了 常規(guī)變異 又勾選非常規(guī)變異。。。 那你到底是要鬧哪樣!
還有勾選編碼時(shí) ?也勾選了 hook生成的話(huà) 那么我不知道你要鬧那樣。。
如果要對(duì)生成的鉤子進(jìn)行編碼的話(huà) 那么就弄兩次吧 一次:生成 復(fù)制 ,二次: 粘貼 編碼!
使用場(chǎng)景:
html實(shí)體編碼的分號(hào)在大部分情況下都是可以去掉的 能減少輸入字符!我有強(qiáng)迫癥。。
我一般選擇html實(shí)體編碼的時(shí)候 都會(huì)必勾選!
&#URL編碼:
這個(gè)對(duì)我來(lái)說(shuō)真的是經(jīng)常用到!比如在測(cè)試反射型XSS 以及 DOM XSS時(shí)!
因?yàn)?amp;#在url中都有特殊的含義 我們很多時(shí)候都是把他們當(dāng)做一個(gè)html實(shí)體編碼表示的方式而已!
可是瀏覽器不會(huì)這樣認(rèn)為,& 會(huì)被認(rèn)為是參數(shù)的分隔符 比如一個(gè)url:
http://xssec.net/?x=1&c=2&d=4 復(fù)制代碼如果我們?cè)趗rl上寫(xiě)&號(hào)是會(huì)被當(dāng)成參數(shù)分隔符的 進(jìn)行一下url編碼就號(hào)了!
#號(hào)呢,就是location.hash獲取的值以及什么的 所以這種字符還是url編碼的好~
比如以下這個(gè)payload:
search.php?searchfield=xsser%c0\%22%20onfocus=%26%2397%26%23108%26%23101%26%23114%26%23116%26%2340%26%2347%26%2374%26%23105%26%23110%26%2347%26%2341%20autofocus//&imageField=%CB%D1%CB%F7 復(fù)制代碼大家還原下編碼就能看到原本的字符了!
Hook生成
基本介紹 :把你的鉤子(hook)放入到左邊的Encode里 然后勾選你要進(jìn)行生成的hook類(lèi)型!然后點(diǎn)后面的生成就好了!
每次請(qǐng)選擇一種,別淘氣 我沒(méi)寫(xiě)太多的判斷js。。。 精力有限!
下面貼幾個(gè)演示吧:
在鉤子生成方面做的不是特別好,也是自己經(jīng)驗(yàn)不足的原因 大家有更猥瑣的 加載鉤子的payload 求pm加上去!
下載鏈接:
xss-encode_20131115121612.crx_.zip
聯(lián)系方式:
mail:[email?protected]
http://t.qq.com/Ox_Jin
超強(qiáng)干貨來(lái)襲 云風(fēng)專(zhuān)訪(fǎng):近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的[XSS神器]XssEncode chrome插件 - 0x_Jin的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 软件推荐-有道超级计算器
- 下一篇: Swift-binary search