虛擬機內搭建CTFd平臺搭建及CTF題庫部署,局域網內機器可以訪問

一、虛擬機環境搭建

1、安裝docker、git、docker-compose

ubuntu:

sudo apt-get update #更新系統
sudo apt-get -y install docker.io #安裝docker
sudo apt-get -y install git #安裝git
sudo apt-get -y install python3-pip #安裝pip3
sudo pip install docker-compose #pip安裝docker-compose,如安裝失敗sudo pip install --upgrade pip更新pip版本后再安裝

2、docker配置&python配置

docker配置:

#如果想自定義docker鏡像下載目錄進行執行如下命令
sudo rm -rf /var/lib/docker
sudo mkdir -p /appdata/docker #/appdata/docker為你自定義的目錄
sudo ln -s /appdata/docker /var/lib/docker #創建軟鏈接使/var/lib/docker指向/appdata/docker
#設置國內docker鏡像源
sudo mkdir -p /etc/docker #創建目錄
sudo vim /etc/docker/daemon.json #編輯配置文件
#將如下內容寫入:
{
"registry-mirrors": ["https://******.mirror.aliyuncs.com"]
}
#******為你注冊阿里docker鏡像倉庫的代碼,獲取方式見如下文章:
#https://blog.csdn.net/wohaqiyi/article/details/89335932
sudo service docker restart #重啟docker

python配置:

#不安裝python2,直接python3
sudo ln -s /usr/bin/pip3 /usr/bin/pip #創建python3軟鏈接
sudo ln -s /usr/bin/python3 /usr/bin/python #創建python3軟鏈接
?

3、部署CTFd平臺

cd /opt
sudo git clone https://github.com/CTFd/CTFd.git #下載CTFd
cd CTFd
sudo docker-compose up -d #docker方式后臺下載鏡像源并啟動
?
[root@localhost CTFd]# docker-compose up -d
WARNING: The Docker Engine you're using is running in swarm mode.
Compose does not use swarm mode to deploy services to multiple nodes in a swarm. All containers will be scheduled on the current node.
Creating ctfd_db_1 ? ?... done
Creating ctfd_ctfd_1 ?... done
Creating ctfd_cache_1 ... done
Creating ctfd_ctfd_1 ?...?
Recreating ctfd_nginx_1 ... done?

安裝完成,訪問IP:8000,進入CTFd初始化界面,按需注冊賬號密碼后,點finish可進入CTFd平臺
pip3 install gunicorn

https://github.com/CTFd/CTFd


部署一個ctf題目

sudo mkdir -p /home/cys/CTF #創建CTF目錄
sudo cd /home/cys/CTF
sudo git clone https://github.com/CTFTraining/CTFTraining.git #安裝CTFTraining,注意這里只能git下來目錄,目錄中是空的,需要一個一個CTF題目去git
cd CTFTraining
ls

里面只有目錄,沒有內容

sudo git clone https://github.com/CTFTraining/0ctf_2016_unserialize.git #下載CTF題目,只要替換0ctf_2016_unserialize為其他目錄名稱即可下載所有題目
cd 0ctf_2016_unserialize/ #進入題目目錄中
ls

發現目錄中已經有內容了

修改docker-compose.yml文件,設置端口及flag

使用docker-compose啟動:

sudo docker-compose up -d #使用docker-compose下載鏡像生成容器并啟動容器

?要16步,第一啟動費時間。

已經啟動,在本地訪問IP:8302發現可以訪問,但在其他電腦無法訪問


停止并刪除容器,并修改配置文件docker-compose.yml
sudo docker stop 2c6df451d955 #停止容器,2c6df451d955為CTF題目CONTAINER ID
sudo docker rm 2c6df451d955 #刪除容器,2c6df451d955為CTF題目CONTAINER ID
sudo vim docker-compose.yml #vim將127.0.0.1修改為0.0.0.0
?
# 0ctf 2016 piapiapia
version: "2"
?
services:
?
? web:
? ? build: .
? ? image: ctftraining/0ctf_2016_unserialize
? ? environment:
? ? ? - FLAG=flag{nizhenshigedacongming}
? ? restart: always
? ? ports:
? ? ? - "0.0.0.0:8302:80"
?本機在瀏覽器上訪問正常,但是同一局域網的其他電腦卻無法連接


解決:
打開VM點擊虛擬機–>設置–>硬件–>網絡適配器–>選擇橋接:直接連接到物理網絡

?

?

?

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/35516.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/35516.shtml
英文地址,請注明出處:http://en.pswp.cn/news/35516.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SQL筆記

最近的工作對SQL的應用程度較高,而且寫的sql類型基本沒怎么涉及過,把用到的幾個關鍵字記錄下。 使用環境:達夢數據庫 達夢數據庫有個特點,他有一個叫模式的說法,在圖形化工具里直接點擊創建查詢窗口,不用像…

Kubeadm安裝K8s集群

一、硬件環境 準備3臺Linux服務器&#xff0c;此處用Vmware虛擬機。 主機名CPU內存k8smaster2核4Gk8snode12核4Gk8snode22核4G 二、系統前置準備 配置三臺主機的hosts文件 cat << EOF > /etc/hosts 192.168.240.130 k8smaster 192.168.240.132 k8snode1 192.168.…

Sql奇技淫巧之ROWNUM偽列

ROWNUM偽列 ROWNUM是一個偽列&#xff0c;它是根據每次查詢的結果動態生成的一列遞增編號&#xff0c;表示 Oracle 從表中選擇該行的順序&#xff0c;選擇的第一行ROWNUM為1&#xff0c;第二行ROWNUM為2&#xff0c;以此類推。 注意1&#xff1a; ROWNUM偽列是在WHERE子句之…

torch.profiler

什么是torch.profiler PyTorch Profiler 是一個工具&#xff0c;它允許在訓練和推理期間收集性能指標。Profiler 的上下文管理器 API 可用于更好地了解哪些模型操作最昂貴&#xff0c;檢查它們的輸入形狀和調用堆棧&#xff0c;研究設備內核活動并可視化執行跟蹤。 性能指標&…

騰訊出品Pag動畫框架在Android端的使用-初級

Pag動畫框架作為一個第三方框架&#xff0c;它的優缺點與Lottie是相似&#xff0c;此處不過多贅述。如果你們的項目中打算用了&#xff0c;肯定是經過了一定的調研的。Pag動畫框架分幾個版本&#xff0c;有免費的有收費的。我們目前用的社區免費版&#xff0c;只用來展示Pag動畫…

項目實戰 — 消息隊列(8){網絡通信設計②}

目錄 一、客戶端設計 &#x1f345; 1、設計三個核心類 &#x1f345; 2、完善Connection類 &#x1f384; 讀取請求和響應、創建channel &#x1f384; 添加掃描線程 &#x1f384; 處理不同的響應 &#x1f384; 關閉連接 &#x1f345; 3、完善Channel類 &#x1f384; 編…

廣州華銳互動:VR3D課程在線教育平臺為職業院校提供沉浸式的虛擬現實學習體驗

隨著科技的飛速發展&#xff0c;虛擬現實(VR)和增強現實(AR)技術已經逐漸滲透到我們生活的各個領域。其中&#xff0c;VR3D課程在線教育平臺作為一種新興的教育方式&#xff0c;正在逐漸改變我們的學習方式和體驗。本文將詳細介紹VR3D課程在線教育平臺的應用前景及特點。 VR3D課…

VFP現代物流企業管理系統的設計與實現

摘要: 隨著計算機技術的廣泛應用,在現代流通企業管理中引入計算機管理技術,成為一個值得深入研究的問題。 本文首先概要的論述了數據庫的有關知識與現狀。之后,對當代計算機數據庫技術的現狀,尤其是對關系型數據庫作了系統的描述。在此基礎上,論文重點對數據庫的開發環境 …

【設計模式】工廠模式

工廠模式 工廠模式&#xff08;Factory Pattern&#xff09;是 Java 中最常用的設計模式之一。這種類型的設計模式屬于創建型模式&#xff0c;它提供了一種創建對象的最佳方式。 工廠模式提供了一種將對象的實例化過程封裝在工廠類中的方式。通過使用工廠模式&#xff0c;可以…

Mysql整理二 - 常見查詢語句面試題(附原表)

表結構&#xff0c;創建原表的代碼在最后 -- cid課程id; tid老師id; sid學生id; select * from t_mysql_course; select * from t_mysql_score; select * from t_mysql_student; select * from t_mysql_teacher; 1. 查詢" 01 “課程比” 02 "課程成績高的學生的信息…

uniapp軟鍵盤談起遮住輸入框和頭部被頂起的問題解決

推薦&#xff1a; pages.json中配置如下可解決頭部被頂起和表單被遮住的問題。 { "path": "pages/debug/protocol/tagWord", "style": { "app-plus": { "soft…

01.setup,reactive,ref,computed,watch學習---2023新版Vue3基礎入門到實戰項目

1.Vue3組合式 2.創建vue3項目 2.1認識create-vue create-vue是官方新的腳手架工具&#xff0c;vite下一代構建工具 node -v >16 npm init vuelatest 2.2 setup 原始寫法 <script> export default {//執行時機比beforeCreate早//獲取不到this//數據和函數必須ret…

Java實戰:高效提取PDF文件指定坐標的文本內容

前言 臨時接到一個緊急需要處理的事項。業務側一個同事有幾千個PDF文件需要整理&#xff1a;需要從文件中的指定位置獲取對應的編號和地址。 要的急&#xff0c;工作量大。所以就問到技術部有沒有好的解決方案。 問技術的話就只能寫個demo跑下了。 解決辦法 1. 研究下PDF文檔…

案例15 Spring Boot入門案例

1. 選擇Spring Initializr快速構建項目 ? 2. 設置項目信息 ? 3. 選擇依賴 ? 4. 設置項目名稱 ? 5. 項目結構 ? 6. 項目依賴 自動配置了Spring MVC、內置了Tomcat、配置了Logback(日志)、配置了JSON。 ? 7. 創建HelloController類 com.wfit.boot.hello目錄下創建HelloCo…

Less和Sass的原理和用法

一、原理 1.1 Less定義&#xff1a;是一種動態的樣式語言,使CSS變成一種動態的語言特性&#xff0c;如變量、繼承、運算、函數。Less既可以在客戶端上面運行(支持IE6以上版本、Webkit、Firefox),也可以在服務端運行(Node.js) 1.2 SaSS定義&#xff1a;是一種動態樣式語言&#…

開發過程中遇到的問題以及解決方法

鞏固基礎&#xff0c;砥礪前行 。 只有不斷重復&#xff0c;才能做到超越自己。 能堅持把簡單的事情做到極致&#xff0c;也是不容易的。 開發過程中遇到的問題以及解決方法 簡單易用的git命令 git命令&#xff1a; 查看有幾個分支&#xff1a;git branch -a 切換分支&#…

Azure創建第一個虛擬機

首先&#xff0c;登錄到 Azure 門戶 (https://portal.azure.com/)。在 Azure 門戶右上角&#xff0c;點擊“虛擬機”按鈕&#xff0c;并點擊創建&#xff0c;創建Azure虛擬機。 在虛擬機創建頁面中&#xff0c;選擇所需的基本配置&#xff0c;包括虛擬機名稱、操作系統類型和版…

【JVM】JVM 調優的參數都有哪些?

文章目錄 1. 設置堆空間大小2. 虛擬機棧的設置3. 年輕代中Eden區和兩個Survivor區的大小比例4. 年輕代晉升老年代閾值5. 設置垃圾回收收集器 1. 設置堆空間大小 設置堆的初始大小和最大大小&#xff0c;為了防止垃圾收集器在初始大小、最大大小之間收縮堆而產生額外的時間&…

python編程小游戲簡單的,python小游戲編程100例

大家好&#xff0c;給大家分享一下python編程小游戲簡單的&#xff0c;很多人還不知道這一點。下面詳細解釋一下。現在讓我們來看看&#xff01; 不會python就不能用python開發入門級的小游戲&#xff1f; 當然不是&#xff0c;我收集了十個python入門小游戲的源碼和教程&#…

分支語句和循環語句(1)

這篇文章我們詳細的把分支語句和循環語句給大家進行講解。 分支語句&#xff1a; if switch 循環語句&#xff1a; while for do while goto語句&#xff1a; 1.什么是語句&#xff1f; C語句可分為以下五類&#xff1a; 1. 表達式語句 2. 函數調用語句 3. 控制…