pwntools簡介


  1. 安裝binutils:
    git clone https://github.com/Gallopsled/pwntools-binutils
    
    sudo apt-get install software-properties-common
    
    sudo apt-add-repository ppa:pwntools/binutils
    
    sudo apt-get update
    
    sudo apt-get install binutils-arm-linux-gnu
  2. 安裝capstone:
    git clone https://github.com/aquynh/capstone
    
    cd capstone
    
    make
    
    sudo make install
  3. 安裝pwntools:
    sudo apt-get install libssl-dev
    
    sudo pip install pwntools
  4. 測試安裝是否成功:

>>> from pwn import *
>>> asm('nop')
'\x90'
>>> asm('nop', arch='arm')
'\x00\xf0 \xe3'

Pwntools 分為兩個模塊,一個是 pwn,簡單地使用 from pwn import * 即可將所有子模塊和一些常用的系統庫導入到當前命名空間中,是專門針對 CTF 比賽的;而另一個模塊是 pwnlib,它更推薦你僅僅導入需要的子模塊,常用於基於 pwntools 的開發。
下面是 pwnlib 的一些子模塊:

adb:安卓調試橋
args:命令行魔法參數
asm:匯編和反匯編,支持 i386/i686/amd64/thumb 等
constants:對不同架構和操作系統的常量的快速訪問
config:配置文件
context:設置運行時變量
dynelf:用於遠程函數泄露
encoders:對 shellcode 進行編碼
elf:用於操作 ELF 可執行文件和庫
flag:提交 flag 到服務器
fmtstr:格式化字符串利用工具
gdb:與 gdb 配合使用
libcdb:libc 數據庫
log:日志記錄
memleak:用於內存泄露
rop:ROP 利用模塊,包括 rop 和 srop
runner:運行 shellcode
shellcraft:shellcode 生成器
term:終端處理
timeout:超時處理
tubes:能與 sockets, processes, ssh 等進行連接
ui:與用戶交互
useragents:useragent 字符串數據庫
util:一些實用小工具


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM