01 2024 档案
摘要:照例检查程序保护情况 堆栈不可执行,再导入ida看一下代码逻辑 如上图此处代码有格式化字符串漏洞 先找出偏移 可以发现偏移是8 那么我们可以利用printf泄露出libc地址,如何修改printf_got表为system的地址,然后再传入/bin/sh就可以getshell exp: from pw
阅读全文
摘要:好好说话之Unsorted Bin Attack_unsortedbin attack-CSDN博客
阅读全文
摘要:先来看一下程序的保护情况 堆栈不可执行,而且还开了canary 看一下ida 又是经典菜单题,接着分析每一个函数功能就行 touch函数:有一个数组存malloc出来的地址 delete函数:删除堆中的数据,不存在uaf漏洞 show函数:打印堆中数据 take_note函数:向堆中写数据 分析到这
阅读全文
摘要:这道题先来看一下ida 这道题的代码逻辑很简单,首先关闭了标准输出和错误输出 那可以将标准输出重定向到标准输入 exec 1>&0 是一种Shell命令行中的重定向语法,用于将标准输出(文件描述符1)重定向到标准输入(文件描述符0)。 在Linux Shell中,每个进程都有三个默认的标准文件描述符
阅读全文
摘要:程序保护情况检查 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链 然后加上偏移就可
阅读全文