CTF-PWN环境搭建手册
工欲善其事必先利其器,作为一名CTF的pwn手,一定要有自己的专用解题环境。本文将详细记录kali下的pwn解题环境的安装过程,B站也会配备配套视频。
目录
安装前的准备工作
虚拟机环境编辑
VM版本安装教程
1. 下载Kali的VM虚拟机文件
2. 新建一个空白文件夹
3. 解压压缩包
4.打开VMware WorkStation
编辑 5. 配置虚拟机的硬件
6.启动虚拟机
7.kali汉化步骤
编辑
8.换源!
9.中文输入法安装
pwn环境安装
1.pwntools安装
1、安装指令
2、测试checksec
3、测试pwntools
2.gdb动态调试安装
1、原生gdb安装
2、pwndbg安装
3、测试安装
编辑
3.LibcSearcher安装
4.ROPGadget安装
安装前的准备工作
虚拟机环境

VMware WorkStation
VM版本安装教程
1. 下载Kali的VM虚拟机文件
Kali的VM虚拟机文件
Kali的VM虚拟机文件可在Kali官网下载
kali官网
Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution
左侧Installer Images为光盘镜像文件,右侧Vitrual Machines是我们这次下载的VM虚拟机文件
点击这里下载
最后得到压缩包
2. 新建一个空白文件夹
找一个空间大点的盘,新建这个文件夹,命名就叫Kali好了
3. 解压压缩包
把第一步下载的VM虚拟机文件,解压到当前目录下
对着文件右键解压文件,选中你创建的文件夹。
等待解压完成
解压完成会得到
4.打开VMware WorkStation
点击打开虚拟机
选中文件中的这个
5. 配置虚拟机的硬件
打开虚拟机之前,需要调整硬件设置
点击编辑虚拟机设置
内存设置,电脑本机的内存的一半即可。
处理器1就行。核取一半(up的CPU只有8核)
硬盘其实60G就完全够用
配置完成记得点击确认保存
6.启动虚拟机
由于这个是配置好的,所以默认密码是kali/kali
登录之后的样子,全英文有点难受
7.kali汉化步骤
全英文怎么玩!!!给我汉化
右键Kali的桌面,点击Open Terminal Here(在此处打开控制台)
输入指令
一、进入root模式
sudo -i #指令输入后,会要求输入kali的密码,也就是kali。注意,kali输密码光标是不会动的哦!
已经入root模式就是红红的
二、更新源(不是换源!)
apt-get update
看到这烦人的下载速度没,这就提醒你该换源(下载服务器)了 ,CTRL+C结束,然后先去第8步换源吧
三、设置系统语言
sudo dpkg-reconfigure locales
下方向键一直按着
按到看到zh_CN
选中了之后,不要按回车!!!!!!
先按空格!!!!变成星星,我已踩坑
回车,如果没有zh_cn,证明没听我话,退回去重新操作就行
回车,接下里让它自己跑
重启系统应用汉化
reboot
这个不建议改成汉化的,因为经常要访问 ,英文路径好打
8.换源!
我看这篇写的挺好,那我就偷懒了,记得阿里和清华一起上
Kali 更换源(超详细,附国内优质镜像源地址)_kali换源-CSDN博客
9.中文输入法安装
1.打开终端,输入以下命令:root权限哦
apt-get install ibus ibus-pinyin
记得点Y
reboot #重启
右上角切换
pwn环境安装
1.pwntools安装
1、安装指令
进入root
sudo -i
安装指令
sudo pip3 install pwntools
2、测试checksec
测试题目位置
NSSCTF | 在线CTF平台
把附件拖到kali中,重命名为pwn1,方便写指令。指令要在桌面路径执行哦。
checksec pwn1
3、测试pwntools
from pwn import *
xianyufen=remote("node1.anna.nssctf.cn",28029)#按照服务器地址和端口更改
payload=b'a'*0x2C+p64(0x41348000)
xianyufen.send(payload)
xianyufen.interactive()
我的是这样的
from pwn import *
xianyufen=remote("node4.anna.nssctf.cn",28492)#按照服务器地址和端口更改
payload=b'a'*0x2C+p64(0x41348000)
xianyufen.send(payload)
xianyufen.interactive()
在桌面用指令建一个python脚本
vim attack.py
然后就可以右键编辑了,用Mousepad打开
指令粘贴进去
控制台运行一下
python3 attack.py
再输个ls,即可看到flag,工具已正常安装
2.gdb动态调试安装
1、原生gdb安装
sudo apt install gdb
2、pwndbg安装
访问github,获取安装指令
GitHub - pwndbg/pwndbg: Exploit Development and Reverse Engineering with GDB Made Easy
安装指令
# 下载仓库
git clone https://github.com/pwndbg/pwndbg
会得到pwndbg项目文件夹
# 移动到文件夹下
cd pwndbg# 可以用ls看一下当前目录下的文件
# 启动安装脚本
./setup.sh
安装时间会有点久
3、测试安装
cd ../ #回到桌面
gdb pwn1 #上一节的栈文件,拿来测试
显示的是pwndbg就对了,打个断点玩一下
b main #main函数打个断点
quit #退出
温馨提示:pwndbg那个文件夹别删除!
3.LibcSearcher安装
旧版LibcSearcher 安装发现报错 GitHub - lieanu/LibcSearcher: glibc offset search for ctf.
更换别的版本
项目地址如下:https://github.com/dev2ero/LibcSearcher
安装指令
pip3 install LibcSearcher
代替在线工具
4.ROPGadget安装
sudo pip install capstone
正常应该是successfully,但我这里好像在前面已经装好了
载项目
git clone https://github.com/JonathanSalwan/ROPgadget.git
移动至项目文件夹下
cd ROPgadget
安装指令
sudo python3 setup.py install
相关文章:

CTF-PWN环境搭建手册
工欲善其事必先利其器,作为一名CTF的pwn手,一定要有自己的专用解题环境。本文将详细记录kali下的pwn解题环境的安装过程,B站也会配备配套视频。 目录 安装前的准备工作 虚拟机环境编辑 VM版本安装教程 1. 下载Kali的VM虚拟机文件 2. 新…...

Nginx安装配置与SSL证书安装部署
一、Nginx Nginx是一款高性能的开源Web服务器和反向代理服务器,被广泛用于构建现代化的Web应用和提供静态内容。 nginx官网 这里下载nginx-1.24.0-zip Nginx是一款高性能的开源Web服务器和反向代理服务器,被广泛用于构建现代化的Web应用和提供静态内…...
高性能面试八股文之编译流程程序调度
1. C的编译流程 C语言程序的编译过程通常包括预处理(Preprocessing)、编译(Compilation)、汇编(Assembly)、链接(Linking)四个主要阶段。下面是这些阶段的详细说明: 1.…...
opencv的MinGW-W64编译
最近使用Qt,需要用到opencv,安装详情参考下面这个网址,写的挺好: opencv的MinGW-W64编译 - 知乎 我电脑安装Qt中自带了MinGW,所以不需要像上面网址中的下载MinGw,只需要将Qt中自带的MinGW添加到环境变量即可,如&…...

在Go编程中调用外部命令的几种场景
1.摘要 在很多场合, 使用Go语言需要调用外部命令来完成一些特定的任务, 例如: 使用Go语言调用Linux命令来获取执行的结果,又或者调用第三方程序执行来完成额外的任务。在go的标准库中, 专门提供了os/exec包来对调用外部程序提供支持, 本文将对调用外部命令的几种使用方法进行总…...

python学习:break用法详解
嗨喽,大家好呀~这里是爱看美女的茜茜呐 在执行while循环或者for循环时,只要循环条件满足,程序会一直执行循环体。 但在某些场景,我们希望在循环结束前就强制结束循环。 Python中有两种强制结束循环的方法: continue语…...

【算法萌新闯力扣】:找到所有数组中消失对数字
力扣热题:找到所有数组中消失对数字 开篇 这两天刚交了蓝桥杯的报名费,刷题的积极性高涨。算上打卡题,今天刷了10道算法题了,题目都比较简单,挑选了一道还不错的题目与大家分享。 题目链接:448.找到所有数组中消失对…...

Node.js 安装配置
文章目录 安装检测Node是否可用 安装 首先我们需要从官网下载Node安装包:Node.Js中文网,下载后双击安装没有什么特殊的地方,安装路径默认是C盘,不想安装C盘的话可以选择一下其他的盘符。安装完成以后可以不用配置环境变量,Node安装已经自动给…...

前端JS 使用input完成文件上传操作,并对文件进行类型转换
使用input实现文件上传 // 定义一个用于文件上传的按钮<input type"file" name"upload1" />// accept属性用于定义允许上传的文件类型, onchange用于绑定文件上传之后的相应函数<input type"file" name"upload2"…...
探索AI交互:Python与ChatGPT的完美结合!
大家好!我是爱摸鱼的小鸿,人生苦短,我用Python!关注我,收看技术干货。 随着人工智能的迅速发展,AI交互正成为技术领域的一大亮点。在这个过程中,Python编程语言和ChatGPT模型的结合展现出强大的…...

CI/CD - jenkins
目录 一、部署 1、简介 2、部署 二、配置 三、实时触发 四、自动化构建docker镜像 五、通过ssh插件交付任务 六、添加jenkins节点 七、RBAC 八、pipeline 九、jenkins结合ansible参数化构建 1、安装ansible 2、新建gitlab项目 3、jenkins新建项目playbook 一、部…...

【【萌新的SOC学习之 VDMA 彩条显示实验之一】】
萌新的SOC学习之 VDMA 彩条显示实验之一 实验任务 : 本章的实验任务是 PS写彩条数据至 DDR3 内存中 然后通过 VDMA IP核 将彩条数据显示在 RGB LCD 液晶屏上 下面是本次实验的系统框图 VDMA 通过 HP接口 与 PS端的 DDR 存储器 进行交互 因为 VDMA 出来的是 str…...
相机通用类之海康相机,软触发硬触发(飞拍),并输出halcon格式对象
//在此之前可以先浏览我编写的通用上位机类,更方便理解 https://blog.csdn.net/m0_51559565/article/details/134403745最近完成一个关于海康采图的demo,记录并说明用法。 先上代码。using System; using System.Collections.Generic; using System.Runt…...
linux时间调整
查看当前系统时间 [rootVM-12-12-centos ~]# date Sat Nov 18 16:09:11 CST 2023 Sat:表示星期六Saturday的缩写 Nov:表示十一月November的缩写 18:表示日期18号 16:09:11:时间 CST:China Standard Time中国标准…...

C++模版初阶
泛型编程 如下的交换函数中,它们只有类型的不同,应该怎么实现一个通用的交换函数呢? void Swap(int& left, int& right) {int temp left;left right;right temp; }void Swap(double& left, double& right) {double temp…...

软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】
软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】 课本里章节里所有蓝色字体的思维导图...
Go 语言结构体验证详解:validate 标签与自定义规则
介绍 Go 语言中,结构体验证是保障数据完整性和正确性的重要手段之一。本文将深入探讨 validate 标签的使用方式,并介绍如何结合验证库 go-playground/validator 进行自定义验证规则。 安装与导入验证库 首先,请确保已安装验证库:…...

软考-高级-系统架构设计师教程(清华第2版)【第19章 大数据架构设计理论与实践 (P691~716)-思维导图】
软考-高级-系统架构设计师教程(清华第2版)【第19章 大数据架构设计理论与实践 (P691~716)-思维导图】 课本里章节里所有蓝色字体的思维导图...

深度学习YOLOv5车辆颜色识别检测 - python opencv 计算机竞赛
文章目录 1 前言2 实现效果3 CNN卷积神经网络4 Yolov56 数据集处理及模型训练5 最后 1 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习YOLOv5车辆颜色识别检测 ** 该项目较为新颖,适合作为竞赛课题方向࿰…...

c语言-浅谈指针(3)
文章目录 1.字符指针变量常见的字符指针初始化另一种字符指针初始化例: 2.数组指针变量什么是数组指针变量数组指针变量创建数组指针变量初始化例(二维数组传参的本质) 3.函数指针变量什么是函数指针变量呢?函数指针变量创建函数指…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

高等数学(下)题型笔记(八)空间解析几何与向量代数
目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...

华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...

搭建DNS域名解析服务器(正向解析资源文件)
正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

LabVIEW双光子成像系统技术
双光子成像技术的核心特性 双光子成像通过双低能量光子协同激发机制,展现出显著的技术优势: 深层组织穿透能力:适用于活体组织深度成像 高分辨率观测性能:满足微观结构的精细研究需求 低光毒性特点:减少对样本的损伤…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...

WebRTC调研
WebRTC是什么,为什么,如何使用 WebRTC有什么优势 WebRTC Architecture Amazon KVS WebRTC 其它厂商WebRTC 海康门禁WebRTC 海康门禁其他界面整理 威视通WebRTC 局域网 Google浏览器 Microsoft Edge 公网 RTSP RTMP NVR ONVIF SIP SRT WebRTC协…...
ThreadLocal 源码
ThreadLocal 源码 此类提供线程局部变量。这些变量不同于它们的普通对应物,因为每个访问一个线程局部变量的线程(通过其 get 或 set 方法)都有自己独立初始化的变量副本。ThreadLocal 实例通常是类中的私有静态字段,这些类希望将…...