Pwntools


PWNTOOLS

1. 模块介绍

  • 使用 from pwn import * 将所有的模块导入当前的namespace,这条语句会把os,sys等常用的系统库导入

  • 常用模块如下:

    * 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等

2. 连接

* 本地: sh = process("./level0")

* 远程: sh = remote("127.0.0.1",10001)

* 关闭连接: sh.close()

IO模块

sh.send(data) 发送数据

sh.sendline(data) 发送一行数据

sh.recv(numb = 2048,timeout = default)  接收数据numb指定接收的字节,timeout指定超时

sh.recvline(keepends=True) 接受一行数据,keepends为是否保留行尾的\n

sh.recvuntil("Hello,World\n",drop=false) 接受数据直到我们设置的标志出现

sh.recvall()一直接受知道EOF

sh.recvrepeat(timeout=default) 持续接收知道EOF或者timeout

sh.interactive() 直接进行交互,相当于回到shell的模式,在渠道shell之后使用

汇编与反汇编

汇编:


文章作者: 尘落
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 尘落 !
评论
  目录