一般流程
chmod u+x
checksec
sudo -s echo 0 > /proc/sys/kernel/randomize_va_space
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other
Chromium OS Docs - Linux System Call Table
泄露libc
libc database search
系统调用
Chromium OS Docs - Linux System Call Table
速查源码
Glibc source code (glibc-2.41.9000) - Bootlin Elixir Cross Referencer
编写exp
from pwn import *
context(os='linux', arch='amd64', log_level='debug') context.terminal = ["tmux", "splitw", "-h"]
p=process('./') p=remote('ip',port) elf = ELF('./') libc = ELF('./')
li = lambda x : print('\\x1b[01;38;5;214m' + x + '\\x1b[0m') ll = lambda x : print('\\x1b[01;38;5;1m' + x + '\\x1b[0m') s = lambda s : p.send(s) sl = lambda s : p.sendline(s) sa = lambda n,s : p.sendafter(n,s) sla = lambda n,s : p.sendlineafter(n,s) r = lambda n : p.recv(n) rl = lambda : p.recvline() ru = lambda s : p.recvuntil(s) ra = lambda : p.recvall() ia = lambda : p.interactive() uu32 = lambda data : u32(data.ljust(4, b'\\x00')) uu64 = lambda data : u64(data.ljust(8, b'\\x00'))
def g(): gdb.attach(p) pause()
p.interactive()
|