@TOC
0x0 安装
sudo pip install pwntools
0x1 导入包
from pwn import*
0x2 链接远程服务器或者链接本地文件
远程 r = remote(‘目的IP或目标URL’,目标端口号) 本地 r = process('./文件名')
0x3 接收远端回传的数据
interactive() //在取得shell之后使用,直接进行交互,相当于回到shell的模式 recv(numb = 字节大小,timeout = default) //接收指定字节数 recall() //一直接收知道达到文件EOF recvline(keepends = True)接收一行,keepends为是否保留行尾的\n recvuntil(delims,drop = False)一直读到delims的pattern出现为止 recvrepeat(timeout=default)持续接收世道EOF或timeout
0x4 向远端发送数据
send(data)发送数据 sendline(data)发送一行数据,相当于在数据末尾+ \n
0x5 设置运行时变量
context(arch='',os = '', log_level = 'debug')
0x6 格式转换
p32() 数字转换为字符串 u32() 字符串转换为数字
0x7 cyclic
cyclic 需要的长度 cyclic -l 异常的地点
0x8 ELF 操作ELF文件的工具
elf = ELF('pwn') hex(elf.address) hex(elf.symbols['write'] hex(elf.got['write']) hex(elf.plt['write'])