#coding:utf8
from pwn import *
context.log_level = 'debug'
context.terminal = ['tmux', 'splitw', '-h'] #pwndbg适配该终端,加上这句话,我们就可以在一个终端进行分屏调试,分屏的切换一类的操作还需要查看一下tmux如何使用
ip = ''
port = 0
process_name = ''
if args.G: #还没搞清楚是什么原理,但是用法就是在参数列表中加个G就可以进入本地调试的分支
sh = process(process_name)
addr=''
gdb.attach(sh, "b *" + addr)
else:
sh = remote(ip,port)
关于`close'
- exp脚本里面写payload顺序不能错
- system和call _system以及16字节对齐link
- patchelf --set-interpreter
ld* file
./pwn - patchelf --replace-needed
old libc* file new libc* file
./pwn - set debug-file-directory ./.debug/
recv注意事项:
link
pwndbg打断点 开启pie的使用 gdb $rebase(0x)
signin绕过tail ./*
mp_.tcache_bins怎么找,哈哈,search -8 堆基址,
找到在libc.so上的地址,该地址加8就是mp_.tcache_bins的地址