pwntools常用

CTF 中 Pwntools 连接场景简单

在CTF中使用pwntools连接靶机是最基础也最核心的操作之一,pwntools提供了简洁的API支持本地程序调试远程TCP连接串口连接等多种场景,下面简单说明用法

1. 远程连接(最常见)

1
2
3
4
5
6
7
8
9
from pwn import *

# 基本连接
p = remote('靶机IP', 端口号)

# 示例
p = remote('192.168.1.100', 9999) # 常见端口
p = remote('ctf.example.com', 1337)
p = remote('127.0.0.1', 4444) # 本地转发

2. 常用操作示例

1
2
3
4
5
6
7
8
9
10
11
12
# 发送数据
p.send(b'data') # 发送原始数据
p.sendline(b'data') # 发送数据+换行
p.sendafter(b'prompt', b'data') # 接收到prompt后发送

# 接收数据
data = p.recv(100) # 接收100字节
line = p.recvline() # 接收一行
p.recvuntil(b'flag:') # 接收到指定字符串为止

# 交互模式
p.interactive() # 切换到手动交互

3.实用技巧

  • 使用 context.log_level = 'debug' 查看所有通信
  • 利用 pwnlib.util.proc.pidof() 查找进程
  • 通过 pwnlib.util.cyclic 生成模式字符串定位溢出偏移

选择哪种方式取决于题目类型(PWN、Web、Crypto等)和部署方式。


pwntools常用
http://example.com/2025/12/28/pwntools常用/
作者
ddanggui
发布于
2025年12月28日
许可协议