日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

搭建H1ve-ctfd以及如何部署题目

發(fā)布時(shí)間:2024/9/30 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搭建H1ve-ctfd以及如何部署题目 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言:

之前都是學(xué)長搭建的平臺(tái)給我們做練習(xí),時(shí)間過的好快,我現(xiàn)在已經(jīng)變成學(xué)長了,為了學(xué)弟學(xué)妹們能學(xué)到知識(shí),我就利用一下docker搭建ctfd,順便記錄一下過程,以免之后再搭建忘記。

0x00:搭建環(huán)境

1.Centos 7 642.Docker 3.python2.7

0x01:搭建過程

安裝docker

安裝需要的軟件包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2 bind-utils

設(shè)置yum源

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安裝docker

sudo yum install docker-ce

啟動(dòng)并加入開機(jī)啟動(dòng)

sudo systemctl start docker sudo systemctl enable docker

驗(yàn)證是否安裝成功

docker version


以上的步驟按照步驟走一般沒問題,不會(huì)遇到錯(cuò)誤什么的(親測),既然docker安裝好了,接下來就安裝docker-compose
____________更新

安裝docker-compose

建議安裝這一種來安裝

博客如下:
https://www.cnblogs.com/lywJ/p/10716062.html

安裝python-pip

yum -y install epel-release yum -y install python-pip

檢查是否安裝成功

pip -V


對安裝的pip進(jìn)行升級(jí)

pip install --upgrade pip

這里就很平常一個(gè)升級(jí),但是我就遇到了一個(gè)報(bào)錯(cuò)
ModuleNotFoundError: No module named 'pip._internal',
(自己忘記截圖了,就使用大師傅的圖)

查了才知道有可能是與舊版沖突才導(dǎo)致了這個(gè)報(bào)錯(cuò),我使用的是第一種修復(fù)方法:
修復(fù)方法:

python -m ensurepip python -m pip install --upgrade pip

ModuleNotFoundError: No module named ‘pip._internal’ , pip 無法下載軟件 解決辦法

修復(fù)好之后,安裝docker-compose

pip install docker-compose

如果報(bào)錯(cuò)出現(xiàn)

ReadTimeoutError: HTTPSConnectionPool(host='pypi.python.org', port=443): Read timed out

使用這個(gè)命令即可:

pip --default-timeout=200 install -U docker-compose

但是。。。。我遇到報(bào)錯(cuò)卻是這樣的

用pip安裝Python庫軟件的時(shí)候遇到"command 'gcc' failed with exit status 1"錯(cuò)誤問題,看似缺少gcc組件,但是確實(shí)在安裝之前有執(zhí)行過yum安裝gcc,但是還是有這樣的問題,原因便是缺少openssl-devel支持(PS:雖然我的報(bào)錯(cuò)信息沒有顯示gcc,但我按照這個(gè)命令執(zhí)行了,確實(shí)不會(huì)再報(bào)錯(cuò)了)

解決方法:

yum install gcc libffi-devel python-devel openssl-devel -y

解決"command ‘gcc’ failed with exit status 1"錯(cuò)誤問題
執(zhí)行完畢之后,再回到之前執(zhí)行的pip安裝docker-compose

安裝成功,查看一下版本

注意如果docker-compose版本過低,則無法啟動(dòng)H1ve-ctfd

啟動(dòng)ctfd

既然docker和docker-compose都準(zhǔn)備好了,就來下載一下ctfd,之前我們團(tuán)隊(duì)qwzf大佬給我推薦了

H1ve--開源攻防訓(xùn)練平臺(tái) https://xz.aliyun.com/t/6889

是基于ctfd開放的,而且更帥氣,更酷炫,放張圖

這一看就被吸引了,這樣太帥了,既然就是基于ctfd開放的,那么基本一樣,所以我就搭建這個(gè)平臺(tái):

現(xiàn)在已經(jīng)開源,感謝大佬們研發(fā)出這么帥的網(wǎng)站,可以在服務(wù)器中直接下載

git clone https://github.com/D0g3-Lab/H1ve.git

下載好之后進(jìn)入到目錄中,按照Github上的教程走:

docker-compose -f single.yml up

但是。。。。又遇到了問題,繼續(xù)查:

可以發(fā)現(xiàn)這個(gè)問題是docker: Error response from daemon: ... : net/http: TLS handshake timeout.出現(xiàn)這個(gè)問題的原因是因?yàn)樵撁钅J(rèn)從docker遠(yuǎn)端鏡像倉庫中拉取鏡像,但由于遠(yuǎn)端倉庫的服務(wù)器是在國外,我們國內(nèi)有的用戶很可能都訪問不了,所以會(huì)報(bào)錯(cuò)。

解決方法:使用阿里云鏡像加速器

按照上面配置鏡像加速器的方法復(fù)制粘貼即可,接下來進(jìn)行安裝就可以看到很快的速度了

出現(xiàn)這個(gè)頁面就歐克了
默認(rèn)的端口是8000,訪問一下服務(wù)器的IP地址

終于搭建好了,所說遇到很多問題,但也學(xué)到了不少東西。

0x02:部署題目

(吐槽一句,真的要吐了)

MISC和Crypto都好設(shè)置

設(shè)置好題目,上傳附件,添加flag即可

唯獨(dú)web題目有點(diǎn)麻煩,其實(shí)說麻煩也不是太麻煩,就是有點(diǎn)啰嗦,原本打算用docker去搭建web題,但是看了看服務(wù)器的配置還是算了的,就采用apache+MySQL+php來搭建,直接讓訪問var/www/html目錄下的文件就可以了

先來下載MySQL:

注意:在新版本的CentOS7中,默認(rèn)的數(shù)據(jù)庫已更新為了Mariadb,而非 MySQL,所以執(zhí)行 yum install mysql命令只是更新Mariadb數(shù)據(jù)庫,并不會(huì)安裝 MySQL

查看已安裝的 Mariadb 數(shù)據(jù)庫版本。

rpm -qa|grep -i mariadb

卸載已安裝的 Mariadb 數(shù)據(jù)庫

rpm -qa|grep mariadb|xargs rpm -e --nodeps

查看已安裝的 Mariadb 數(shù)據(jù)庫版本,確認(rèn)是否卸載完成

rpm -qa|grep -i mariadb

下載安裝包文件

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

安裝mysql-community-release-el7-5.noarch.rpm包

rpm -ivh mysql-community-release-el7-5.noarch.rpm

安裝mysql

yum install mysql-server

檢查mysql是否安裝成功

rpm -qa | grep mysql

啟動(dòng) mysql 服務(wù)

systemctl start mysqld.service #啟動(dòng) mysql systemctl restart mysqld.service #重啟 mysql systemctl stop mysqld.service #停止 mysql systemctl enable mysqld.service #設(shè)置 mysql 開機(jī)啟動(dòng)

設(shè)置密碼

root 用戶的密碼默認(rèn)是空的,需要及時(shí)用 mysql 的 root 用戶登錄

mysql -u root mysql> use mysql; mysql> update user set password=PASSWORD("這里輸入root用戶密碼") where User='root'; mysql> flush privileges;

CentOS7下使用YUM安裝MySQL5.6

設(shè)置遠(yuǎn)程主機(jī)登錄

這個(gè)非常重要,如果不設(shè)置的話,就算你php配置文件都對,但是還是連接不到數(shù)據(jù)庫的,一定要注意

mysql> use mysql mysql> select host,user,password from user;

修改host字段的值,將localhost修改成需要遠(yuǎn)程連接數(shù)據(jù)庫的ip地址,或者直接修改成%。修改成%表示,所有主機(jī)都可以通過root用戶訪問數(shù)據(jù)庫

mysql> update user set host = '%' where user = 'root'; mysql> FLUSH PRIVILEGES;

修改之后,即可連接成功

Host ‘xxx’ is not allowed to connect to this MySQL server.
MySQL安裝好之后,就來安裝apache,在CentOS和RHEL上,Apache軟件包和服務(wù)稱為httpd

sudo yum install httpd

安裝完成后,啟用并啟動(dòng)Apache服務(wù):

sudo systemctl enable httpd sudo systemctl start httpd

下載php,這里我下載的版本是5.6的,如果之后web題涉及到了弱類型,這個(gè)版本的php就可以

yum install epel-release rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi yum install --enablerepo=remi --enablerepo=remi-php56 php php-gd php-opcache php-devel php-mbstring php-mcrypt php-mysqlnd php-phpunit-PHPUnit php-pecl-xdebug php-pecl-xhprof php -v

centOs7 yum安裝php5.6(史上最簡)
下載好之后,原本打算再安裝一個(gè)phpmyadmin,但是爆出了下面的錯(cuò)誤,就是安裝不了,反正也不是特別需要就不安裝了

至此基本就可以了,將你的題目放到/var/www/html目錄下,這里還要設(shè)置一下目錄權(quán)限

chmod 711 /var/html/www/web #web是我自己放置題目的目錄


設(shè)置好就可以,反正有人遍歷目錄,啟動(dòng)一下Hive-ctfd

docker-compose -f single.yml up

發(fā)現(xiàn)報(bào)錯(cuò)。。。。

原因也很簡單,就是因?yàn)閍pache占用了80端口,所以我們需要更改一下apache的默認(rèn)端口即可

打開 /etc/httpd/conf/httpd.conf 文件 把80改為你自己想要設(shè)置的端口,如下圖我設(shè)置的是5555

最后再補(bǔ)充一點(diǎn):

在Linux中如何導(dǎo)入sql文件

mysql -u 用戶名 -p 數(shù)據(jù)庫名 < 數(shù)據(jù)庫名.sql #這個(gè)只是其中的一種方法
  • 如果你的配置文件中的主機(jī)、賬號(hào)、密碼什么的都對,但還是無法連接,就一定是你在安裝MySQL時(shí)沒有設(shè)置遠(yuǎn)程連接
  • 如果發(fā)現(xiàn)訪問題目時(shí),php源碼都直接出現(xiàn),沒有解析,最簡單的方法,重新啟動(dòng)一下apache服務(wù)即可sudo systemctl restart httpd

至此,就全部搭建完畢了,寫的時(shí)候真的感覺不難,但畢竟是第一次搭建,真的也學(xué)到不少知識(shí)



就記錄到這里吧!

總結(jié)

以上是生活随笔為你收集整理的搭建H1ve-ctfd以及如何部署题目的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。