[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'])
相关文章
|
29天前
|
人工智能 前端开发 JavaScript
拿下奇怪的前端报错(一):报错信息是一个看不懂的数字数组Buffer(475) [Uint8Array],让AI大模型帮忙解析
本文介绍了前端开发中遇到的奇怪报错问题,特别是当错误信息不明确时的处理方法。作者分享了自己通过还原代码、试错等方式解决问题的经验,并以一个Vue3+TypeScript项目的构建失败为例,详细解析了如何从错误信息中定位问题,最终通过解读错误信息中的ASCII码找到了具体的错误文件。文章强调了基础知识的重要性,并鼓励读者遇到类似问题时不要慌张,耐心分析。
|
前端开发 rax Shell
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)(上)
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)
814 0
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)(上)
每日一题---383. 赎金信[力扣][Go]
每日一题---383. 赎金信[力扣][Go]
每日一题---383. 赎金信[力扣][Go]
|
安全 NoSQL C语言
[PWN][基础篇]printf漏洞介绍
[PWN][基础篇]printf漏洞介绍
220 0
[PWN][基础篇]printf漏洞介绍
|
Shell Linux Python
[PWN][知识小节]shellcode生成和测试
[PWN][知识小节]shellcode生成和测试
283 0
[PWN][知识小节]shellcode生成和测试
|
存储 安全 NoSQL
[PWN][基础篇]如何利用printf漏洞突破canary保护
[PWN][基础篇]如何利用printf漏洞突破canary保护
274 0
[PWN][基础篇]如何利用printf漏洞突破canary保护
|
存储 安全 NoSQL
[PWN][进阶篇]Rop-Ret2Text介绍及实例教学
[PWN][进阶篇]Rop-Ret2Text介绍及实例教学
644 0
[PWN][进阶篇]Rop-Ret2Text介绍及实例教学
|
存储 缓存 NoSQL
[PWN][基础篇]基础理论
[PWN][基础篇]基础理论
162 0
[PWN][基础篇]基础理论
|
安全 Linux C语言
[PWN][基础篇]保护函数和溢出实例
[PWN][基础篇]保护函数和溢出实例
177 0
[PWN][基础篇]保护函数和溢出实例