引领时代潮流,回归技术本质。
精选文章:
硬核二进制安全学习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