Java教程

搭建PWN学习环境

本文主要是介绍搭建PWN学习环境,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

环境清单

系统环境

  • Ubuntu22.04

编写脚本

  • pwntools
  • ZIO

调试

  • IDA PRO
  • gdb
  • pwndbg

ROP工具

  • checksec
  • ROPgadget
  • one_gadget
  • LibcSearcher
  • main_arana_offset

IDA PRO(运行于windows)

IDA主要用于反汇编,静态调试,也可以将部分程序以伪代码的形式给出

  1. IDA Pro 有何用处?
  2. 一分钟安装IDA pro7.0

pwntools(python库)

pwntools是一个ctf框架和漏洞利用开发库

  1. pwntools用法
  2. 安装
    sudo pip install -i https://pypi.tuna.tsinghua.edu.cn/simple/ pwntools
    (Tips: pip换国内源)

gdb

gdb常用来调试 C 和 C++ 程序
sudo apt install gdb


pwndbg

gdb的辅助增强,或者可以用peda、gef

git clone https://github.com/pwndbg/pwndbg
cd pwndbg
./setup.sh

(Tips:Ubuntu下git安装配置)


checksec

检查安全性工具,在安装pwntools时会默认安装


ROPgadget

在程序中搜索ROP段的工具,在安装pwntools时会默认安装


one_gadget

用来去查找动态链接库里execve("/bin/sh", rsp+0x70, environ)函数的地址的

sudo apt -y install ruby
sudo gem install one_gadget

LibcSearcher

泄露了Libc中的某一个函数地址后,常常为不知道对方所使用的操作系统及libc的版本而苦恼,常规方法就是挨个把常见的Libc.so从系统里拿出来,与泄露的地址对比一下最后12位
(Tips:可用libc database search(libc.blukat.me)代替)

git clone https://github.com/lieanu/LibcSearcher.git
cd LibcSearcher
python setup.py develop

main_arena_offset

从libc基址中获取main_arena地址的shell脚本,具体参照main_arena_offset
git clone https://github.com/bash-c/main_arena_offset.git


ZIO

zio是一个专门为CTF PWN开发的Python库,基于zio可以方便实现对远程服务器上的服务程序进行数据读写操作。不仅如此,zio甚至还支持对本地程序的数据读写操作。
sudo pip install zio

这篇关于搭建PWN学习环境的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!