remote("ip", port) process("./bin",env={"LD_PRELOAD":"./libc2.23.so"}) EFL("./bin") efl.bss() context.log_level='DEBUG' gdb.attach(p) send(payload) 发送payload sendline(payload) 发送payload,并进行换行(末尾 ) sendafter(some_string, payload) 接收到 some_string 后, 发送你的 payload recv(numb = 2048, timeout = dufault) 接受数据,numb指定接收的字节,timeout指定超时 recvline(keepends=True) 接受一行数据,keepends为是否保留行尾的 recvuntil("Hello,World ",drop=fasle) 接受数据直到我们设置的标志出现 recvall() 一直接收直到EOF recvrepeat(timeout = default) 持续接受直到EOF或timeout symbols['a_function'] 找到 a_function 的地址 got['a_function'] 找到 a_function的 got plt['a_function'] 找到 a_function 的 plt next(e.search("/bin/sh")) 找到包含 some_characters(字符串,汇编代码或者某个数值)的地址. libc=LibcSearcher("func",func_addr) 根据func查找libc版本 Libc.dump("func") 在libc中找到func的地址 p32()/u32() p64()/u64()
str.ljust(width, ‘char’)#左对齐
asm(shellcraft.sh()) shellcode int(xxx,base=10) 将xxx转换为10进制 interactive()
export LD_PRELOAD="./so"
unset LD_PRELOAD