摘要:
程序保护情况检查 32位程序,堆栈不可执行 主函数: 左边又是一堆函数,file看一下 发现是静态链接,那ret2libc不用考虑了,接着看一下有没有int 80 那可以考虑利用rop链调用execve函数,用系统调用的函数参数是存在寄存器中的,但是本程序找不到/bin/sh的字符串,可以利用rea 阅读全文
摘要:
先检查程序的保护情况 32位程序,堆栈不可执行 看ida 经典的菜单题,根据题目的uaf,判断该题有uaf漏洞,看一下delete函数 两次free没置空指针,确实存在uaf漏洞,再看一下add函数和print函数 add函数这里,就是创建了两个堆块,第一个堆块八字节数据中,前四个字节存着puts函 阅读全文
摘要:
先检查程序的保护情况 32位。堆栈不可执行,ida看一下代码逻辑 存在gets函数的栈溢出,偏移是0xc,然后再根据左边一堆函数,判断这个程序是静态编译,那这里的libc的打法就可以不用考虑,这里使用ROPgadget --binary rop --ropchain进行需要rop链 然后加上偏移就可 阅读全文