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