【pwnable.kr-----解题过程】bof

来源:互联网 发布:linux find exec 编辑:程序博客网 时间:2024/05/23 01:16
#include <stdio.h>#include <string.h>#include <stdlib.h>void func(int key){    char overflowme[32];    printf("overflow me : ");    gets(overflowme);     if(key == 0xcafebabe){        system("/bin/sh");    }    else {        printf("Nah..\n");     }}int main(int argc, char* argv[]){    func(0xdeadbeef);    return 0;}

溢出发生在gets(overflowme),ida载入,发现需要覆盖的是a1的地址bp+8h,s的地址[bp-2ch],所以需要覆盖2ch+8h=52字节。

 

所以可以构造如下python脚本:

 ,如下图:


0 0
原创粉丝点击