作者:
0x_Jin
·
2013/11/15 16:44
0x00 閒扯
好吧繼上一篇文章之後,就沒發文章了!(其實是一直在寫但是寫的很少還湊不起一篇文章而已)
但是這幾天對外掛進行了一定的改良了 因為在自己在實際的XSS過程中也發現了自己的外掛 還不夠強大!
不能夠百分之百的滿足自己的需求!所以就根據自己平常的需求給加了上去!
我想做到玩XSS一個工具即可解決需求!所以感覺即使是現在的外掛也還有很大的不足!
所以很希望得到你們的意見 東湊一塊 西湊一塊寫成一個真正的一個外掛解決需求!
(現在想給hook生成功能塊加一個 是否自動把hook轉換成短連結!但是。。。在技術上有點問題)
另外還有什麼其他的功能 或者一些比較猥瑣的小技巧 希望大家提出來 我加上。。。
比如在chrome裡隱藏payload 。。。我一直在想如何才能構造一段被chrome認為是無效的字元。。並且還能夠執行!
0x01 介面以及功能介紹
相容性沒做所以在不同的解析度下會亂碼。。。這個不會做
解析度: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