【ctf系列】pwn exp常用函数解析

1

sendlineafter 当收到第一个参数之后,就发送第二个参数+/n输出

cyclic

是用来填充垃圾数据的

1
2
3
4
5
6
7
8
9
>>> from pwn import *
>>>
>>> cyclic(60)
b'aaaabaaacaaadaaaeaaafaaagaaahaaaiaaajaaakaaalaaamaaanaaaoaaa'
>>>
>>> cyclic(0x16 + 8)
b'aaaabaaacaaadaaaeaaafaaagaaaha'
>>>

1
2
3
4
5
6
from pwn import *         # 用于创建与二进制文件进行交互的脚本。它提供了许多用于漏洞利用的功能。 
p=process('./ret2libc3') # 这创建了一个新的进程,执行名为 `ret2libc3` 的可执行文件。这通常用于在本地系统上调试和测试漏洞利用脚本。
elf=ELF('ret2libc3') # 这将二进制文件 `ret2libc3` 加载到一个对象 `elf` 中,以便可以从中获取有关二进制文件的信息,例如函数地址、GOT(Global Offset Table)等。
put_plt=elf.plt['puts'] # 获取了在二进制文件的 PLT 表中 `puts` 函数的地址。
put_got=elf.got['puts']
start_addr=elf.symbols['_start']

【ctf系列】pwn exp常用函数解析
http://example.com/2023/08/18/ctf/unsupported/【ctf系列】pwn exp常用函数解析/
作者
ningan123
发布于
2023年8月18日
许可协议