环境清单

系统环境

  • 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
sudo 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学习环境的更多相关文章

  1. 用Qemu搭建aarch32学习环境

    作者信息 作者: 彭东林 邮箱: pengdonglin137@163.com QQ: 405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linu ...

  2. 用Qemu搭建x86_64学习环境

    作者信息 作者:彭东林 邮箱:pengdonglin137@163.com QQ:405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linux内核 ...

  3. 用Qemu搭建x86学习环境

    作者信息 作者:彭东林 邮箱:pengdonglin137@163.com QQ:405728433 软件平台 主机: Ubuntu14.04 64位版本 模拟器:Qemu-2.8.0 Linux内核 ...

  4. 云端搭建Linux学习环境 链接https://edu.aliyun.com/article/19 (阿里云ECS服务器 )课堂

    云端搭建Linux学习环境 链接https://edu.aliyun.com/article/19 1. 开通云服务器 2 1.包年包月   按量付费(适合测试数据的时候) 2 2.地域   服务器数 ...

  5. 使用Qemu运行Ubuntu文件系统 —— 搭建SVE学习环境(2)

    开发环境 PC:ubuntu18.04 Qemu:4.1 Kernel:Linux-5.2 概述 由于要学习ARM的SVE技术,但是目前还没有支持SVE指令的板子,所以只能用Qemu来模拟,但是发现Q ...

  6. 基于Ubuntu+Python+Tensorflow+Jupyter notebook搭建深度学习环境

    基于Ubuntu+Python+Tensorflow+Jupyter notebook搭建深度学习环境 前言一.环境准备环境介绍软件下载VMware下安装UbuntuUbuntu下Anaconda的安 ...

  7. ubuntu18.04下搭建深度学习环境anaconda2+ cuda9.0+cudnn7.0.5+tensorflow1.7【原创】【学习笔记】

    PC:ubuntu18.04.i5.七彩虹GTX1060显卡.固态硬盘.机械硬盘 作者:庄泽彬(欢迎转载,请注明作者) 说明:记录在ubuntu18.04环境下搭建深度学习的环境,之前安装了cuda9 ...

  8. ubuntu16.04+七彩虹GTX1060的NVIDIA驱动+Cuda8.0+cudnn5.1+tensorflow+keras搭建深度学习环境【学习笔记】【原创】

    平台信息:PC:ubuntu16.04.i5.七彩虹GTX1060显卡 作者:庄泽彬(欢迎转载,请注明作者) 说明:参考了网上的一堆的资料搭建了深度学习的开发环境,下班在宿舍折腾了好几个晚上才搞定,写 ...

  9. 教你如何用Docker快速搭建深度学习环境

    本教程搭建集 Tensorflow.Keras.Coffe.PyTorch 等深度学习框架于一身的环境,及jupyter. 本教程使用nvidia-docker启动实例,通过本教程可以从一个全新的Ub ...

随机推荐

  1. Spring ModelAttribute注解失效原因

    public String test(@RequestParam(value = "test") @ModelAttribute("test") String ...

  2. sleep 方法和 wait 方法有什么区别?

    这个问题常问,sleep 方法和 wait 方法都可以用来放弃 CPU 一定的时间,不同点 在于如果线程持有某个对象的监视器,sleep 方法不会放弃这个对象的监视器, wait 方法会放弃这个对象的 ...

  3. 通过pink构造简易部署脚本

    安装git        https://www.cnblogs.com/youxiu326/p/10540753.html 安装maven https://www.cnblogs.com/youxi ...

  4. 推荐一款强大的轻量级模块化WEB前端快速开发框架--UIkit

    前言 今天给大家分享一款强大的轻量级模块化WEB前端快速开发框架--UIkit 到目前(2016-06-20)为止,UIkit在github上的Forks已达到了1350个,而Stars更是达到了69 ...

  5. 一个动态波浪纹Android界面

    IndexActivity.java package com.example.rubikrobot; import androidx.appcompat.app.AppCompatActivity; ...

  6. mysql基本操作1

    数据库的分类 --1.关系型数据库-----用"表"保存数据,相关数据存入一张表中   --2.非关系型数据库-----键值数据库-----对象数据库 ###主流关系型数据库-Or ...

  7. InputStream in = JdbcUtil.class.getClassLoader().getResourceAsStream("dbinfo.properties");

    1.与普通程序不同的是,Java程序(class文件)并不是本地的可执行程序.当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行,负责加载Java ...

  8. HashMap和ConcurrentHashMap的原理和实现

    一.线程不安全的HashMap 多线程环境下,使用HashMap进行put操作会引起死循环(jdk1.7 Entry链表形成环形数据结构),导致CPU利用率接近100%. 结构:数组 table[]+ ...

  9. 面试问题整理之flex 布局

  10. localStorage存储返回过来的对象 显示object object的问题

    localStorage.setItem() 不会自动将Json对象转成字符串形式 用localStorage.setItem()正确存储JSON对象方法是: 存储前先用JSON.stringify( ...