1. 程式人生 > >CTF PWN環境搭建!轉載!

CTF PWN環境搭建!轉載!

最好 行程 ace 端口號 命令 選項 randomize ++ exit

0x00.準備題目

例如:level.c

0x01.GCC/G++編譯

命令參數

1.關掉DEP/NX(堆棧不可執行)

gcc  -z execstack -o level level.c

2.關掉Stack Protector/Canary(棧保護)

gcc -fno-stack-protector -o level level.c

3.關掉程序ASLR/PIE(程序隨機化保護):我在此處出錯!

gcc -no-pie level level.c

4.關閉整個linux系統的ASLR保護

sudo -s 
echo 0 > /proc/sys/kernel/randomize_va_space
exit

5.打開整個linux系統的ASLR保護

sudo -s 
echo 2 > /proc/sys/kernel/randomize_va_space

6.64位linux下面的GCC編譯出一個32位可執行程序 -m32這個選項似乎有點問題,需要apt-get一些東西,但是看網上說好像最好還是別安裝,強行安裝會沖突(本機kali64)

# 加參數- m32
gcc -m32 -z execstack -fno-stack-protector -o level level.c

0x02.掛載題目

1.使用socat掛載在服務器端口

sudo apt-get install socat
socat tcp-l:端口號,fork exec:程序位置,reuseaddr

2.nohup命令(使得關閉終端也能運行題目程序):(暫時沒有試)

技術分享圖片
First.編寫腳本pwn.sh

#!/bin/sh
#name:pwn.sh
socat tcp-l:端口號,fork exec:程序位置,reuseaddr

Next.運行腳本

sudo chmod u+x ./pwn.sh
nohup ./pwn.sh &
技術分享圖片

0x03 訪問

nc IP地址 端口號

0x04 參考

CTF中pwn題的搭建 、

然而還是有些pwn題目搭建不起來,技術有待提高!

CTF PWN環境搭建!轉載!