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.函数指针变量什么是函数指针变量呢?函数指针变量创建函数指…...
实战部署指南:高效配置SadTalker音频驱动人脸动画的完整方案
实战部署指南:高效配置SadTalker音频驱动人脸动画的完整方案 【免费下载链接】SadTalker [CVPR 2023] SadTalker:Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking Face Animation 项目地址: https://gitco…...
Listary vs Everything:Windows文件搜索工具终极对比(附实战技巧)
Listary vs Everything:Windows文件搜索工具终极对比(附实战技巧) 在Windows生态中,高效的文件搜索工具一直是生产力提升的关键。Listary和Everything作为两款备受推崇的解决方案,各自拥有独特的优势和使用场景。本文将…...
Windows下QT5.15.2安装MQTT模块全攻略(附分支选择避坑指南)
Windows下QT5.15.2安装MQTT模块全攻略(附分支选择避坑指南) 在物联网开发领域,MQTT协议因其轻量级和高效性成为设备通信的首选方案。对于使用QT5.15.2进行跨平台开发的工程师而言,在Windows环境下正确配置MQTT模块往往是项目起步的…...
不止于画图:用@antv/g6-editor的Command系统打造可撤销/重做的智能流程设计器
超越基础绘图:利用antv/g6-editor构建企业级智能流程设计器 在当今快速发展的数字化时代,流程设计工具已成为企业数字化转型的核心组件。从简单的审批流程到复杂的业务编排,一个功能完备的流程设计器不仅能提升工作效率,更能确保…...
Fun-ASR参数配置攻略:热词列表、目标语言,这样设置准确率最高
Fun-ASR参数配置攻略:热词列表、目标语言,这样设置准确率最高 1. 为什么参数配置如此重要? 语音识别系统的准确率往往取决于两个关键因素:模型本身的性能和使用者的参数配置。Fun-ASR作为钉钉与通义实验室联合推出的企业级语音识别…...
别再乱写状态流转了!用这5个真实业务模板,帮你搞定订单、审批、工单设计
状态流转设计的黄金法则:5个高复用业务模板与深度避坑指南 当你在深夜接到一个"简单"的状态流转需求时,是否经历过这些噩梦时刻?产品经理说"加个状态很容易",结果上线后出现幽灵订单;开发同学抱怨…...
大模型入门指南:小白程序员必看,收藏学习路径!
一、基础通用概念AI(人工智能) 让机器模拟人类智能(感知、推理、学习、决策)的技术总称。 ML(机器学习) AI 的核心分支:让机器从数据中自动学习规律,不用逐条写规则。 DL(…...
Midscene.js视觉驱动自动化:从认知到实践的AI跨平台控制指南
Midscene.js视觉驱动自动化:从认知到实践的AI跨平台控制指南 【免费下载链接】midscene Let AI be your browser operator. 项目地址: https://gitcode.com/GitHub_Trending/mid/midscene 一、认知篇:理解Midscene.js的技术革新 1.1 破解传统自动…...
DoubletFinder实战指南:精准识别单细胞测序中的双细胞干扰
1. 双细胞干扰:单细胞测序中的"隐形杀手" 做单细胞测序分析的朋友们应该都遇到过这种情况:明明细胞分群很清晰,但总有几个"奇怪"的cluster既表达A细胞标志物又表达B细胞特征。这种情况很可能就是遇到了双细胞干扰——两个…...
掌握Python自动化抢票:开源工具助你高效获取演唱会门票
掌握Python自动化抢票:开源工具助你高效获取演唱会门票 【免费下载链接】DamaiHelper 大麦网演唱会演出抢票脚本。 项目地址: https://gitcode.com/gh_mirrors/dama/DamaiHelper 在演出票务竞争日益激烈的当下,手动抢票已难以应对毫秒级的抢票环境…...


