主要考查点
Pwntools工具的基本使用方法
解题思路
1.nc 连接题目,得到提示:
根据题目,要求发送一个100长度的字符串,而且末尾需要为Syclover
b'A'*92 + b'Syclover'
2.发送第一个请求后进入第二步
要求短时间内计算一个复杂算式,自己算是肯定不可能的,所以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()