python3-pwntools教程_pwntools的简单介绍

pwntools是一个CTF框架和漏洞利用开发库,用于简化exploit编写。本文介绍如何导入包、设置日志、连接目标(通过ip或ssh)、整数转换、发送接收数据、ELF信息获取、汇编反汇编及shellcode生成。通过实例展示了pwntools在pwn挑战中的基本应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pwntools是一个CTF框架和漏洞利用开发库,用Python开发,旨在让使用者简单快速的编写exploit。

这里简单的介绍一下pwntools的使用。

首先就是导入包

from pwn import *

你将在全局空间里引用pwntools的所有函数。现在可以用一些简单函数进行汇编,反汇编,pack,unpack等等操作。

将包导入后,我一般都会设置日志记录级别,方便出现问题的时候排查错误

context.log_level = 'debug'

这样设置后,通过管道发送和接收的数据都会被打印在屏幕上。

然后就是连接了,一般题目都会给你一个ip和一个端口,让你用nc连接访问,也有的题是让你通过ssh连接,这两种方式都可以通过pwntools实现。

# 第一种连接方式,通过ip和port去连接

conn = remote('127.0.0.1', 8888)

# 第二种连接方式,通过ssh连接

shell = ssh(host='192.168.14.144', user='root', port=2222, password='123456')

在编写exp时,最常见的工作就是在整数之间转换,而且转换后,它们的表现形式就是一个字节序列,pwntools提供了打包函数。

p32/p64: 打包一个整数,分别打包为32位或64位

u32/u64:解包一个字符串,得到整数

具体用法

# 比如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值