natas11
$defaultdata 內的 showpassword 初始為 "no",如果經過解碼、解密後 bgcolor 是長度為六的十六進位字串,則根據使用者輸入 (Cookie 可被用戶端修改) 調整 bgcolor 和 showpassword,最後再透過 showpassword 是否為 "yes" 決定是否回顯下關登入密碼
showpassword 變成 "yes"
Ctrl + Shift + i 或 F12 開啟 DevTools,選擇 Storage (Chrome 的在 Application) 查看 Cookies,發現確實存有名為 data 的參數
loadData() 和 saveData() 都呼叫 xor_encrypt()),使用 PHP (看個人習慣,我只是因為網頁有現成的程式碼可以抄) 撰寫腳本來推出金鑰
pt ^ key = ct、ct ^ key = pt
ct ^ pt = pt ^ key ^ ct ^ key
ct ^ key = pt 可以改寫成 key ^ ct = pt
ct ^ pt = pt ^ (key ^ ct) ^ key = pt ^ pt ^ key
ct ^ pt = 0 ^ key = key
showpassword="yes" 使用金鑰 KNHL 做加密