極客大挑戰2023-pwn-nc_pwntools WriteUp

vstral發表於2024-09-28

主要考查點

Pwntools工具的基本使用方法

解題思路

1.nc 連線題目,得到提示:

image

根據題目,要求傳送一個100長度的字串,而且末尾需要為Syclover
b'A'*92 + b'Syclover'

2.傳送第一個請求後進入第二步

image
要求短時間內計算一個複雜算式,自己算是肯定不可能的,所以pwntools的recv來接收並完成計算然後傳送回去,所以就要把算式前面的幾行無關文字給接收掉,只儲存最後一行算式

點選檢視程式碼
io.recvuntil(b'first one\n')
que = io.recvline().decode().strip()
result = eval(que.split('=')[0].strip())
io.sendline(str(result))

exp

點選檢視程式碼
from pwn import *

io = remote('train.geesec.com',30893)
#context.log_level = 'debug'

payload = b'A'*92 + b'Syclover'

io.sendline(payload)
io.recvuntil(b'first one\n')
challenge = io.recvline().decode().strip()
print("Received challenge:", challenge)
result = eval(challenge.split('=')[0].strip())
io.sendline(str(result))

io.interactive()

相關文章