Skip to main content

PatriotCTF 2024 rustLock upsolve

·1 min· loading · loading · ·
hokak
Author
hokak
need more sleep

這題題目大概是輸入一串密碼,然後會驗證是否正確,若是錯誤會輸出Wrong!
首先先catch syscall write,因為在輸出的時候大部分都會調用到write

觀察在輸出Wrong!時的函數堆疊
我們可以假設這些函數會有其中一個會有判斷是否正確的code

alt text
alt text

1279D這邊我們看到有一段看起來像是call了一個判斷字串的函數

alt text
alt text

跟進來,這函數有一個像是迴圈的地方,可以猜測她會逐字元判斷,在裡面下一個斷點

alt text

在這個判斷式下斷點,確保繼續到跑迴圈的步驟

alt text

強制跳到下一個instruction(程式會繼續跑到斷點)
alt text

成功拿到密碼
alt text