pwntools实战CTFpwn题

本文介绍Pwntools的安装与使用,涵盖汇编、反汇编、ROP链生成及elf文件操作。通过实战CTF题目welpwn,演示如何利用Pwntools进行漏洞利用,包括ROP链构造、内存泄漏、shellcode生成等关键步骤。

Pwntools安装,一条命令就能搞定
pip install --upgrade pwntools
安装完毕后在python环境下只需使用
from pwn import *
即可导入
这会将大量的功能导入到全局命名空间,然后我们就可以直接使用单一的函数进行汇编、反汇编、pack,unpack等操作。
常用的模块有下面几个:
asm : 汇编与反汇编,支持x86/x64/arm/mips/powerpc等基本上所有的主流平台
dynelf : 用于远程符号泄漏,需要提供leak方法
elf : 对elf文件进行操作
gdb : 配合gdb进行调试
memleak : 用于内存泄漏
shellcraft : shellcode的生成器
tubes : 包括tubes.sock, tubes.process, tubes.ssh, tubes.serialtube,分别适用于不同场景的PIPE
utils : 一些实用的小功能,例如CRC计算,cyclic pattern等

Tubes读写接口
这是exploit最为基础的部分,对于一次攻击而言前提就是与目标服务器或者程序进行交互,这里就可以使用remote(address, port)产生一个远程的socket然后就可以读写了
先来看看pwntools建立连接的功能
现在一台kali上开启ftp服务
在这里插入图片描述
然后在安装了pwntools的机器上使用如下命令进行连接
在这里插入图片描述
这里是模拟了使用anonymous用户登录ftp服务的场景
pwntools还有创建监听器的功能,如下所示
在这里插入图片描述
上图中是自动监听41375端口,然后模仿发送hello消息,然后使用recv()进行接收。

通过pwnlib.tubes.process可以与进程进行交互
在这里插入图片描述
上图中是与/bin/sh进行交互,打印hello world
我们不单单可以通过编程的方式事先写好与进程交互的逻辑,还可以直接与进程交互
在这里插入图片描述
上图中通过interactive()进入了交互模式
无论哪种P

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值