好吧繼上一篇文章之后,就沒發文章了!(其實是一直在寫但是寫的很少還湊不起一篇文章而已)
但是這幾天對插件進行了一定的改良了 因為在自己在實際的XSS過程中也發現了自己的插件 還不夠強大!
不能夠百分之百的滿足自己的需求!所以就根據自己平常的需求給加了上去!
我想做到玩XSS一個工具即可解決需求!所以感覺即使是現在的插件也還有很大的不足!
所以很希望得到你們的意見 東湊一塊 西湊一塊寫成一個真正的一個插件解決需求!
(現在想給hook生成功能塊加一個 是否自動把hook轉換成短鏈接!但是。。。在技術上有點問題)
另外還有什么其他的功能 或者一些比較猥瑣的小技巧 希望大家提出來 我加上。。。
比如在chrome里隱藏payload 。。。我一直在想如何才能構造一段被chrome認為是無效的字符。。并且還能夠執行!
兼容性沒做所以在不同的分辨率下會亂碼。。。這個不會做
分辨率:1280 X 800 ?(求教)
請把需要編碼的字符放在左邊的輸入框內 Encode / Decode?
然后點擊中間上方的Encode按鈕 選擇你要編碼的類型 然后點擊相應的按鈕即可!
經過相應編碼后的內容便會在右邊的Output框中!
進制編碼常規變異:
進制編碼包括:
html編碼的十進制編碼
html編碼的十六進制編碼
javascript的十六進制編碼
javascript的八進制編碼
會給編碼前面的數字多加7個0,因為IE對進制編碼加0,只識別到八個0,多了的話就認為這不是個有效的值了!
也有很多程序過濾規則也是這樣寫的!他們會把你變異了的值給解析回來,然后再判斷是不是危險字符!
當進制編碼被解析回來,再次過濾了的時候,比如?< 在過濾程序中被還原回來再次過濾了!
但是<沒有在過濾程序中被還原回來,但是在頁面中被瀏覽器被解析還原了,那么就可以用進制編碼的常規變異!
進制編碼非常規變異功能:
會給編碼的數字前面多加10個0!原因同上!
適用場景:
當進制編碼被解析回來,再次過濾了的時候,比如?< 或者 <都被還原回來,再次過濾的話,那么便可以用非常規變異!
IE識別到8個0 可是chrome能識別到更多的0!很多過濾程序都是根據IE的8個0來寫的!所以更多的0 也是一種繞過方式!
使用心得:以上的功能都是自己親身經歷到的 當時是某GOV的站 在這里貼出payload吧 以及筆記
search?str=xxxx%3Ca%20href=%22data:text/html;%26%230000000000000000098ase64%26%230000000000000044%20PGltZyBzcmM9eCBvbmVycm9yPWFsZXJ0KDEpPg==%22%3Etest%3C/a%3E
缺陷參數:str
過濾規則夠BT 但是同樣能繞!
會把提交的編碼 給解碼 然后再插入到網頁中!然后再對網頁內的值進行檢查 過濾!
base64 --> %26%230000000000000000098ase64
首先%26%23會被還原成 &# ?于是變成了: b 于是被還原成:b
b插入到頁面 再檢查 b+ase64 ?= base64 滿足規則 ?于是又過濾成 ba
但是如果b的html十進制編碼 再多加幾個000 ?便不會被他給解碼 ?但是在瀏覽器中又會被解碼 于是便可以這樣繞過!
(此選項可配合其他選項一起使用 比如進行html編碼時 勾選常規變異 + 去html編碼分號)
ps:小伙伴們勿淘氣別選了 常規變異 又勾選非常規變異。。。 那你到底是要鬧哪樣!
還有勾選編碼時 ?也勾選了 hook生成的話 那么我不知道你要鬧那樣。。
如果要對生成的鉤子進行編碼的話 那么就弄兩次吧 一次:生成 復制 ,二次: 粘貼 編碼!
html實體編碼的分號在大部分情況下都是可以去掉的 能減少輸入字符!我有強迫癥。。?
我一般選擇html實體編碼的時候 都會必勾選!
這個對我來說真的是經常用到!比如在測試反射型XSS 以及 DOM XSS時!
因為&#在url中都有特殊的含義 我們很多時候都是把他們當做一個html實體編碼表示的方式而已!
可是瀏覽器不會這樣認為,& 會被認為是參數的分隔符 比如一個url:
http://xssec.net/?x=1&c=2&d=4
如果我們在url上寫&號是會被當成參數分隔符的 進行一下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
大家還原下編碼就能看到原本的字符了!
Hook生成
基本介紹 :把你的鉤子(hook)放入到左邊的Encode里 然后勾選你要進行生成的hook類型!然后點后面的生成就好了!
每次請選擇一種,別淘氣 我沒寫太多的判斷js。。。 精力有限!
下面貼幾個演示吧:
在鉤子生成方面做的不是特別好,也是自己經驗不足的原因 大家有更猥瑣的 加載鉤子的payload 求pm加上去!
下載鏈接:
xss-encode_20131115121612.crx_.zip
聯系方式:
mail:[email protected]
http://t.qq.com/Ox_Jin