The image link appears broken... twice as badly... https://2019shell1.picoctf.com/problem/21890 or http://2019shell1.picoctf.com:21890
以下這個網址的圖片連結看起來好像更糟了...: https://2019shell1.picoctf.com/problem/21890 或是 http://2019shell1.picoctf.com:21890
This is only a JavaScript problem.
同樣手法,但是 shift 只有跟輸入欄位的一半位置有關係,取的是 1 3 5 7 9... 位置上的數值。
shifter = Number(key.slice((i*2),(i*2)+1));
先重複上次的方法重新排過圖片,發現即使開頭對上了也不行。打開前一個題型的 QR Code 圖案的結尾:
而這次重組後的圖片結尾是:
0xf9,0x3f,0xe,0x2a,0x1,0x4c,0xa8,0xf,0xde,0x78,0x45,0x0,0x0,0x0,0x49,0x45,
0x4e,0x44,0xae,0xce,0x60,0x82,0x0,0x0,0x74,0xd,0xe3,0x0,0x0,0x0,0x0,0x0,
可以看的出來有點像! 但是有幾個位置的數值不對。首先是 oxae 應該是 0x42,接著是結尾後出現非0x0的值(0的值程式會砍掉,這個功能在上一題型時沒作用),必須再重組幾次為正確的 PNG 結尾格式。
這裡再次使用萬用 excel 進行比對後,只需要重組幾次欄位 4、9、10、11位的值,
即可測出產出正確的值: 10804050006090505030403010609060
以高分系列來說,這個進階問題相對簡單,重點仍然落在檔案的結構上。
不過,這跟網頁漏洞有很大的關係嗎 @@? 感覺放在 general skill he binary 之類的會好一些吧。
picoCTF{e1f443bfe40e958050e0d74aec4daa48}