AIS3 pre-exam 2021 – AIS3 官網疑遭駭


題目提供了一個 pcap 檔

透過 wireshark 的 follow tcp stream 可以看出除了普通的 request

還有一個比較特殊的

但前面卡在這裡一段時間,一直以為要在 pcap 中找 flag 
直到看到 hint 說 flag 不在 pcap 檔才試著去戳戳看網站本身
還因為 hosts name + 沒加 port,在連到伺服器前又卡了一陣子XD

設定 /etc/hosts ,將 host name “magic.ais3.org”  導向伺服器的 ip “10.153.11.126”

試著連上 http://magic.ais3.org:8100/Index.php?page=%3DogLgMHb

能出現一模一樣的網站
但到這裡又卡了一下

從網站網址能看得出來應該是跟 page 這個參數有關
中間隨便亂試了一下

system() 這個函數看起來有點有趣,但如果亂改的話好像又沒東西
看起來是把 page 的參數做處理丟給 php 的 system 跑
且如果 command 錯誤的話不會丟任何東西出來

回去看一下另一個封包給的 /index.php?page=bHMgLg%3d
總覺得 bHMgLg%3d 怪怪的,跟前面的參數 %3DogLgMHb 有點像
但不知道加密方式,試試看丟給 base64 看會不會過

恩……
那 bHMgLg%3d 呢?

!!!
看來跟這個很有關,但 %3DogLgMHb 跟 bHMgLg%3d 不只順序不一樣,還差了一個 o
想說 o 會不會影響,就又試了一次

不影響呢

所以兩個一定有關係,中間亂試了一堆的方法,但就是不知道之間如何轉換
畢竟看起來像反向,但又不只是單純的反向
也試出 “ls” 的 “bHM” 與 “ls .” 的 “bHMgLg” 也能用

試試看 “ls /” 的 “bHMgLw” ,因為跟 “ls .” 只差了一點

!!!
到這一部時我還以為 flag 那個就是答案,就繳上去了,結果當然不是 XD
後來想到 “.” 的 “g” 變成 “.” 的 “w” ,就想到會不會是要把整個 b64 反過來
就直接把 “cat /flag_c603222fc7a23ee4ae2d59c8eb2ba84d” 拿來做 b64 後反向

flag 就這樣出來了 XD
其實我根本沒想過這樣會 work XD

: Why do u know this?