CTF-pwn入门–基础环境安装

pwn的入门–环境安装:

虚拟机安装–Linux–ubuntu:

PWN的题大多数是在Linux上打,先安装一个Ubuntu是成为pwn手的开始。
VMware Workstation Pro:VMware Workstation Pro官网
Ubuntu镜像网站:Ubuntu镜像网站
Ubuntu 官网:Ubuntu官网

pwn环境搭建:

#换源
先备份一下自带的源,以防以后再用

cp /etc/apt/sources.list /etc/apt/sources.list.bak
vim /etc/apt/sources.list

替换成(如果版本不是20.04可以去阿里、清华、中科大的官网找适合自己版本的源)

#  阿里源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

 # 清华源
 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
 deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
 deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
 deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
 deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
 deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

#  中科大源
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

然后更新源信息

sudo apt update
sudo apt upgrade
安装软件 安装指令
vim $ sudo apt install vim
git $ sudo apt install git
gcc $ sudo apt install gcc
python3-pip $ sudo apt install python3-pip
python-is-python3 $ sudo apt install python-is-python3
gdb-multiarch $ sudo apt-get install gdb-multiarch

vim

vim
vim
VIM 是 Linux 系统上一款文本编辑器,它是操作 Linux 的一款利器。
当前有很多优秀的 IDE 都支持安装 VIM 插件,原因就是使用它便捷,高效,很爽!
基础使用方法:
VIM 常用的有四个模式,:
正常模式 (Normal-mode)
–在任意模式下按键进入
–正常模式一般用于浏览文件,也包括一些复制、粘贴、删除等操作。
插入模式 (Insert-mode)
–按 i 键会进行插入模式。
命令模式 (Command-mode)
–在正常模式中,按下:(冒号)键或者/ (斜杠),会进入命令模式。
可视模式 (Visual-mode)
–在正常模式按下v, V, +v,可以进入可视模式。
检验安装成功:
CTF-pwn入门–基础环境安装_第1张图片

git

Git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理
后边要用到很多github上的东西,git是必装软件。
检验安装成功:
在这里插入图片描述

gcc

gcc是一款非常优秀的编译器,像vc6.0++、vs code等编译器都有内置,将源文件编译成为计算机可执行的二进制文件。

gcc常用编译命令:
NX:-z execstack / -z noexecstack (关闭 / 开启)    不让执行栈上的数据,于是JMP ESP就不能用了
Canary:-fno-stack-protector /-fstack-protector / -fstack-protector-all (关闭 / 开启 / 全开启)  栈里插入cookie信息
PIE:-no-pie / -pie (关闭 / 开启)   地址随机化,另外打开后会有get_pc_thunk
RELRO:-z norelro / -z lazy / -z now (关闭 / 部分开启 / 完全开启)  对GOT表具有写权限

检验安装成功:
CTF-pwn入门–基础环境安装_第2张图片

pip

pip 是一个现代的,通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能
由于python2不在提供维护,本文建议装python3
检验安装成功:
在这里插入图片描述

python-is-python3

输入python是少输入一个3 ,还是很舒服的
检验安装成功:
在这里插入图片描述

gdb-multiarch

gdb嘛,几乎完美的动调工具
检验安装成功:
在这里插入图片描述

pwntools:

先创建一个 tools的文件夹,同一工具的存放目录,方便后期安装其他工具。

$ cd ~
$ mkdir tools
git 下来 pwntools 
$ cd tools
$ git clone https://github.com/Gallopsled/pwntools
$ cd pwntools
$ python setup.py install

检验安装成功:
在这里插入图片描述

github官方网站:https://github.com/Gallopsled/pwntools
pwntools写脚本时的基本使用方法:

remote("一个域名或者ip地址", 端口) 会连接到我们指定的地址及端口 
send(payload) 发送payload
sendline(payload) 发送payload,并进行换行(末尾\n)
sendafter(some_string, payload) 接收到 some_string 后, 发送你的 payload
recvn(N) 接受 N(数字) 字符
recvline() 接收一行输出
recvlines(N) 接收 N(数字) 行输出
recvuntil(some_string) 接收到 some_string 为止
 p64()  p32()
p32()可以让我们转换整数到小端序格式 

这里仅写入门用法,详细可以去看 看雪论坛。看雪论坛

pwngdb

pwngdb 可以优化gdb的使用体验,是个很不错的插件。

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

检验安装成功:
CTF-pwn入门–基础环境安装_第3张图片

ROPgadget

$ sudo apt-get install python-capstone
$ git clone https://github.com/JonathanSalwan/ROPgadget.git 
$ cd ROPgadget
$ sudo python setup.py install

检验安装成功:
在这里插入图片描述

ROPgadged: https://github.com/JonathanSalwan/ROPgadget

one_gadget

当有了ROP_gadget之后就会发现one_gadget也是必须的

$ sudo apt -y install ruby
$ sudo gem install one_gadget

检验安装成功:
在这里插入图片描述

安装pwntools出现错误

pwntools出现错误解决方案
https://www.cnblogs.com/pcat/p/5451780.html
这篇文章适合于刚入门pwn的pwn手,这些工具是前期必须的,进阶工具会在后续的文章中介绍。

你可能感兴趣的:(c语言,python,ubuntu)