思路
obfuscation的意思混淆,以為是js代碼進(jìn)行了加密草慧。題目整體還是比較簡單的桶蛔。
My Writeup
訪問題目,頁面提示輸入密碼:
先隨便輸入一個漫谷。發(fā)現(xiàn)頁面沒有加載比較有用的JS代碼:
既然打開頁面有彈窗仔雷,那就肯定有交互,使用burp進(jìn)行抓包抖剿,響應(yīng)包中發(fā)現(xiàn)了解題關(guān)鍵:
其中escape() 函數(shù)可對字符串進(jìn)行編碼朽寞,這樣就可以在所有的計算機(jī)上讀取該字符串。
該方法不會對 ASCII 字母和數(shù)字進(jìn)行編碼斩郎,也不會對下面這些 ASCII 標(biāo)點(diǎn)符號進(jìn)行編碼: * @ - _ + . / 脑融。其他所有的字符都會被轉(zhuǎn)義序列替換。unescape()則是對escape()編碼的字符串進(jìn)行解碼操作缩宜。
所以最后對pass參數(shù)進(jìn)行解碼得到h為cpasbiendurpassword:
關(guān)于解碼這里寫下我的兩種方法:
在runoob查看escape()函數(shù)的解釋時都會有對應(yīng)的實(shí)例肘迎,類似一個js編譯器:
另一種就是在工具網(wǎng)站有專門的解碼工具提供:
Others Writeup
主要描述了如何對escape()編碼字符串解碼的過程,我這邊也補(bǔ)上吧锻煌。