CTF PWN 中常用的工具安装【Ubuntu 20.04】

news/2024/5/19 22:26:09 标签: ubuntu, CTF, pwn

文章目录

  • 一、查看 libc 版本
  • 二、安装 git、vim、checksec
  • 三、安装 gdb
      • 1、插件 pwndbg
      • 2、插件 pwngdb
  • 四、安装 pwntools
  • 五、安装 ROP_gadget
  • 六、安装 One_gadget
  • 七、安装 glibc-all-in-one
  • 八、安装 xclibc
  • 另:pycdc


一、查看 libc 版本

$ getconf GNU_LIBC_VERSION
glibc 2.31

二、安装 git、vim、checksec

sudo apt install git
sudo apt install vim
sudo apt install checksec

三、安装 gdb

cd ~
sudo apt install gdb
gdb -v

pwndbg_24">1、插件 pwndbg

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

如果报错 “launchpadlib 1.10.13 requires testresources, which is not installed.”,执行:

python3 -m pip install launchpadlib

pwngdb_35">2、插件 pwngdb

cd ~
git clone https://github.com/scwuaptx/Pwngdb.git
cp ~/Pwngdb/.gdbinit ~/
vim ~/.gdbinit
第二行插入 source ~/pwndbg/gdbinit.py

pwntools_44">四、安装 pwntools

cd ~
git clone https://github.com/Gallopsled/pwntools.git
sudo apt-get install python3 python3-pip python3-dev git libssl-dev libffi-dev build-essential
python3 -m pip install --upgrade pip
python3 -m pip install --upgrade pwntools

五、安装 ROP_gadget

用于提取 gadgets

cd ~
sudo pip3 install capstone
git clone https://github.com/JonathanSalwan/ROPgadget.git
cd ROPgadget
sudo python3 setup.py install

如果报错 “ResolutionError: Script ‘scripts/ROPgadget’ not found in metadata at ‘/home/shenyuxin/.local/lib/python3.8/site-packages/ROPGadget-7.3.dist-info’”,执行:

sudo cp -r scripts /home/shenyuxin/.local/lib/python3.8/site-packages/ROPGadget-7.3.dist-info

使用:ROPgadget --binary [文件名] --only 'pop|ret'

六、安装 One_gadget

用于查找动态链接库里 execve(’/bin/sh’, NULL, NULL) 函数的地址

安装 ruby
sudo apt install -y ruby ruby-dev
安装 one_gadget
sudo gem install one_gadget

七、安装 glibc-all-in-one

cd ~
git clone https://github.com/matrix1001/glibc-all-in-one
cd glibc-all-in-one
sudo python3 update_list

下载 libc:

cd glibc-all-in-one
cat list
sudo ./download 2.23-0ubuntu3_amd64
sudo ./download 2.27-3ubuntu1_amd64

八、安装 xclibc

git clone https://github.com/ef4tless/xclibc.git
cd xclibc
sudo rm /usr/local/bin/xclibc
sudo mv ./xclibc /usr/local/bin
sudo chmod +x /usr/local/bin/xclibc

查看 libc 文件版本:

xclibc [选项] [参数]
-s [libc文件] # 查看libc文件版本
-x [-n] [文件] [libc文件] # 一键给文件配置libc文件相应版本的环境(添加-n选项可以使用修改--replace-needed的方式实现)
-c [-n] [文件] [libc大版本号] [libc小版本环境路径] # 给文件配置指定的libc环境,输入大版本号后回车,可自由选择复制libc小版本环境路径(添加-n选项可以使用修改--replace-needed的方式实现)
-e [deb包] # 解压相应的libc_deb包至glibc_all_in_one路径,通常一个版本需要解压一份本体deb和一份debug_deb包
-r [文件] # 恢复修改过的文件至初始状态
-h # 显示帮助
-v # 显示版本号

另,在线查询 libc 版本:https://libc.blukat.me/


另:pycdc

python 反编译,顺手写这了

安装 cmake
sudo apt-get install cmake
安装 pycdc
git clone https://github.com/zrax/pycdc.git
cd pycdc
cmake CMakeLists.txt
make

使用:./pycdc [文件名]


http://www.niftyadmin.cn/n/5015100.html

相关文章

联发科3纳米芯片预计2024年量产,此前称仍未获批给华为供货

9月7日,联发科与台积电共同宣布,联发科首款采用台积电3纳米制程生产的天玑旗舰芯片开发进度顺利,已成功流片,预计将在2024年量产,并将于下半年正式上市。这款旗舰芯片并非今年上市的天玑9300。 据联发科总经理陈冠州介…

javaee springMVC数字类型转换之通过注解的方式

po 在属性上增加注解 NumberFormat(pattern “#,#.#”) package com.test.pojo;import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.NumberFormat;import java.util.Date;public class Users {private int uid;pr…

Net跨平台UI框架Avalonia入门-样式详解

设计器的使用 设计器预览 在window和usercontrol中,在代码中修改了控件,代码正确情况下,设计器中就可以实时看到变化,但是在样式(Styles)文件中,无法直接看到,需要使用设计器预览D…

nodejs采集淘宝、天猫网商品详情数据以及解决_m_h5_tk令牌及sign签名验证(2023-09-09)

一、淘宝、天猫sign加密算法 淘宝、天猫对于h5的访问采用了和APP客户端不同的方式,由于在h5的js代码中保存appsercret具有较高的风险,mtop采用了随机分配令牌的方式,为每个访问端分配一个token,保存在用户的cookie中,通…

CSS jQuery 自动充满剩余高度

网页排版本实现画布canvas自动充满剩余的空间&#xff0c;网上提供的方法都是顶部固定&#xff0c;下面充满。这里的页面顶部是浮动的&#xff0c;用CSS没有办法实现&#xff0c;于是用jQuery实现这项功能。 <html style"height:100%"> <head><meta …

SpringBoot中CommandLineRunner的使用

开发中&#xff0c;你有没有遇到这样的场景&#xff0c;项目启动后&#xff0c;立即需要进行一些操作。比如&#xff1a;加载一些初始化数据、执行一段逻辑代码。你可以使用SpringBoot中CommandLineRunner。它可以在项目启动后&#xff0c;执行CommandLineRunner接口实现类的相…

项目(智慧教室)第五部分,Zigbee采集控制功能实现

一。IAR工程针对Zigbee的修改 补充&#xff1a;硬件配置 &#xff08;1&#xff09;拨码开关拨到公口处&#xff0c;协调器的连接 &#xff08;2&#xff09;协调器的烧写&#xff08;Zigbee协调器也需要烧写&#xff09; &#xff08;4&#xff09;温湿度模块的烧写 1.寻找Z…

优先核酸检测点

题目描述 张三要去外地出差&#xff0c;需要做核酸&#xff0c;需要在指定时间点前做完核酸&#xff0c;请帮他找到满足条件的核酸检测点。 给出一组核酸检测点的距离和每个核酸检测点当前的人数&#xff1b;给出张三要去做核酸的出发时间出发时间是10分钟的倍数&#xff0c;…