硬核二进制安全:Pwn Return To Text溢出漏洞的分析与利用

引领时代潮流,回归技术本质。
精选文章:
硬核二进制安全学习FunctionPrologue and Function Epilogue基础函数调用机制
上期文章:
硬核二进制安全学习:Buffer Overflow(栈的缓冲区溢出&&Pwn技巧Return to Text)

在这里插入图片描述Return To Text从字面理解是返回到字符,实际上的意思是找到关键函数,通过Overflow更改rip寄存器的值拿到系统权限
实际程序:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void y0u_c4n7_533_m3()
{
    
    
  execve("/bin/sh", (char *[]){
    
    0}, (char *[]){
    
    0});
}

int main()
{
    
    
  char buf[16];
  puts("This is your first bof challenge ;)");
  fflush(stdout);
  read(0, buf, 0x30);
  return 0;
}
gcc -o buf.c buf

在这里插入图片描述首先使用objdump工具分析buf.c ,翻译成att汇编

objdump -d -M att bof

如果习惯intel汇编格式

objdump -d -M intel bof

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43332010/article/details/113830962
今日推荐