[PWN][补充篇]pwntools的相关知识

简介: [PWN][补充篇]pwntools的相关知识

@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'])
相关文章
|
前端开发 rax Shell
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)(上)
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)
836 0
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)(上)
BUUCTF--Reverse--easyre(非常简单的逆向)WP
BUUCTF--Reverse--easyre(非常简单的逆向)WP
|
Shell Linux Python
[PWN][知识小节]shellcode生成和测试
[PWN][知识小节]shellcode生成和测试
296 0
[PWN][知识小节]shellcode生成和测试
|
安全 NoSQL C语言
[PWN][基础篇]printf漏洞介绍
[PWN][基础篇]printf漏洞介绍
228 0
[PWN][基础篇]printf漏洞介绍
|
存储 安全 NoSQL
[PWN][进阶篇]Rop-Ret2Text介绍及实例教学
[PWN][进阶篇]Rop-Ret2Text介绍及实例教学
658 0
[PWN][进阶篇]Rop-Ret2Text介绍及实例教学
|
存储 安全 NoSQL
[PWN][基础篇]如何利用printf漏洞突破canary保护
[PWN][基础篇]如何利用printf漏洞突破canary保护
291 0
[PWN][基础篇]如何利用printf漏洞突破canary保护
[PWN][高级篇]ROP-ret2libc基础知识
[PWN][高级篇]ROP-ret2libc基础知识
492 0
[PWN][高级篇]ROP-ret2libc基础知识
|
安全 Linux C语言
[PWN][基础篇]保护函数和溢出实例
[PWN][基础篇]保护函数和溢出实例
188 0
[PWN][基础篇]保护函数和溢出实例
|
存储 缓存 NoSQL
[PWN][基础篇]基础理论
[PWN][基础篇]基础理论
172 0
[PWN][基础篇]基础理论