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
做加密