官术网_书友最值得收藏!

1.3 PicoCTF實用指南

PicoCTF除了每年舉辦比賽,還提供了一個提供其歷年比賽真題的在線平臺。通過這個平臺,學習者可以在熟悉CTF比賽題目的同時,了解各種信息安全的知識點。圖1-1所示為PicoCTF網站首頁。

圖1-1 PicoCTF網站首頁

1.3.1 注冊PicoCTF

初次使用PicoCTF時,需要進行注冊。其注冊頁面如圖1-2所示。

圖1-2 PicoCTF注冊頁面

注冊成功之后,返回首頁就可以看到PicoCTF提供的多種功能,如圖1-3所示。

圖1-3 PicoCTF提供的多種功能

1.3.2 PicoCTF的題目分類

PicoCTF將所有題目分成了多個大類,這其實也是幾乎所有CTF比賽都會采用的方案。因為“術業有專攻”,一個人不可能同時精通所有的網絡安全知識體系,所以CTF比賽幾乎都以團隊形式參賽,由團隊成員分別解答自己擅長的題目。

目前PicoCTF已將歷年的所有題目進行了分類,如圖1-4所示。

圖1-4 PicoCTF的題目分類

由圖1-4可以發現,這些題目被分成了Web安全、加密、逆向工程、取證、通用技能和二進制滲透6種類型。

Web安全:圖1-4中的Web Exploitation,指通過對Web應用程序進行分析和利用來獲取敏感信息或實施攻擊的過程。在Web安全的CTF比賽中,參賽者需要了解各種Web開發知識和漏洞。

加密:圖1-4中的Cryptography,指將信息轉換為不可讀形式的過程,以保護其機密性。在CTF比賽中,加密通常涉及解密隱藏的信息或破解密碼算法。在加密的CTF比賽中參賽者需要了解各種對稱加密和非對稱加密算法,如AES、RSA等。

逆向工程:圖1-4中的Reverse Engineering,指對軟件、硬件或其他基礎組件進行分析和解構,以了解其內部機制和功能的過程。在CTF比賽中,逆向工程涉及分析與修改二進制文件、反匯編和調試程序等任務。

取證:圖1-4中的Forensics,指通過收集、分析和保護數字證據來解決計算機犯罪案件的過程。在CTF比賽中,取證涉及分析給定的數據集,以找到隱藏的信息或解決給定的問題,參賽者需要了解數字取證的基本原理、取證工具和技術,如文件恢復、日志分析和內存取證。

  通用技能:圖1-4中的General Skills,是PicoCTF為新手提供入門用的技巧教學題,包含各種CTF比賽中經常用到的技能,包括編程、網絡分析、操作系統知識和漏洞利用。這有點像其他CTF比賽中的Misc(雜項),但是PicoCTF中的此類題目普遍比較基礎。

  二進制滲透:圖1-4中的Binary Exploitation,指對二進制程序進行分析和利用以獲取敏感信息或實施攻擊的過程,對應其他CTF比賽的PWN題目。在CTF比賽中,參賽者需要分析給定的二進制文件,理解其功能和漏洞,并開發相應的漏洞利用技術。

1.3.3 PicoCTF的題目

PicoCTF的練習界面十分友好,可以通過搜索框直接查找自己感興趣的題目。例如,要搜索與Java有關的題目,可以使用直接搜索關鍵詞“Java”,如圖1-5所示。

圖1-5 使用搜索框查找與Java相關的題目

PicoCTF練習界面的左下方按照賽事對題目進行了分類,如果答題者希望能夠像參加真實比賽一樣答完一整套題目,可以直接選擇對應的年份。目前PicoCTF提供的賽事歷年題目如圖1-6所示。

圖1-6 PicoCTF提供的賽事歷年題目

對于每一道題目,PicoCTF都給出了十分詳細的信息。下面以一道入門題目“Obedient Cat”為例介紹PicoCTF提供信息的方式。在題目列表中,該題的信息簡介如圖 1-7所示。

圖1-7 題目“Obedient Cat”的信息簡介

如圖1-7所示,這個頁面一共給出了5條信息,分別如下。

① 給出了題目的分類,如本題分類為通用技能(General Skills)。

② 給出了題目的分數,一般來說,分數越低,題目越簡單。但實際上并不完全如此,不同年份的題目的分數差距很大,答題者在解答不同年份的題目時將這個分數作為簡單參考即可。

③ 給出了題目的名稱。

④ 給出了已經解答出該題目的人數。

⑤ 給出了題目的好評度。

在圖1-7所示頁面中單擊題目的名稱,進入圖1-8所示的頁面。

圖1-8 題目“Obedient Cat”詳情頁面

在該頁面中給出了題目更詳細的信息。

作者(AUTHOR)。

題目描述(Description):題目的詳細介紹。

線索(Hints):題目的重要提示,同時也可能是網絡安全的一個知識點。

下載鏈接(Download flag):通常是一個下載鏈接,或者是一個網頁鏈接。

提交Flag(Submit Flag):在題目中找到的Flag可以在這里提交。

以“Obedient Cat”為例,這道題目提供了3條線索,這些線索其實也是PicoCTF的魅力所在。它們一方面給出了題目的提示,另一方面也幫助答題者更好地掌握網絡安全的知識點。

這道題的第1條線索給出了這樣的提示:“Any hints about entering a command into the Terminal (such as the next one), will start with a '$'... everything after the dollar sign will be typed (or copy and pasted) into your Terminal.”。

翻譯過來就是“提示中以$開頭的都是要執行的命令,這些內容都是應該在你的終端中輸入的”。

這道題的第2條線索給出了這樣的提示:“To get the file accessible in your shell, enter the following in the Terminal prompt:  $ wget……”。

翻譯過來就是“如果想要在shell中訪問這個文件,請在終端的提示符中輸入以下內容”。

第3條線索是一條命令“$man cat”。

實際上這3條線索已經給出了題目的解題步驟,顯然這道題并非僅僅是測試,更多的是幫助參與者了解Linux答題環境及其常用命令,接下來只需要在Linux操作系統中完成上述操作。

1.3.4 PicoCTF的Linux答題環境

除了使用自己的Linux操作系統,如Kali Linux 2(推薦使用的CTF答題環境),PicoCTF也提供了一個網頁版的Linux答題環境供答題者選用。在答題頁面中,單擊右側的“Webshell”按鈕即可進入該Linux答題環境,如圖1-9所示。

圖1-9 答題頁面的右側的“Webshell”按鈕

使用網頁版Linux答題環境前,需要先輸入答題者在PicoCTF的用戶名和密碼。輸入正確的用戶名和密碼后的Linux答題環境,如圖1-10所示。

圖1-10 PicoCTF提供的Linux答題環境

接下來使用該環境來解答“Obedient Cat”這道題目。首先,在Linux答題環境下輸入第2條線索給出的命令,下載Flag文件,如圖1-11所示。

圖1-11 在Linux答題環境下下載Flag文件

然后,輸入第3條線索提供的命令“man cat”。此時系統將給出cat命令的詳細使用說明。其實這道題并不是在考試,而是在幫助答題者在實踐中掌握常用的Linux命令cat。

之后可以按“q”鍵退出cat的說明頁面。cat是Linux系統中的常用命令,主要用于對文件進行操作。例如,用cat命令顯示文件內容。

$ cat filename

上述命令將顯示指定文件(filename)的內容。

最后,在Linux答題環境下輸入下面的命令,查看剛剛下載的文件。

$ cat flag

成功得到這道題目的Flag,具體如下。

picoCTF{s4n1ty_v3r1f13d_2aa22101}

值得注意的是,PicoCTF比賽中大部分Flag是類似于picoCTF{*******}形式的字符串。

1.3.5 提交Flag

在獲得Flag之后,返回“Obedient Cat”題目的詳情頁面,將Flag的值添加到文本框中,如圖1-12所示。

單擊“Submit Flag”按鈕之后,就可以看到系統提示答題者獲得了對應的分數。在系統的題目列表中,已經完成的題目會變成灰色(見圖1-13)。

還有一點需要答題者注意的是,從PicoCTF 2022開始,大部分Web題目有了時間限制(見圖1-14),不過即使時間結束,答題者也可以答題,只是Web環境需要重啟。

圖1-12 提交Flag

圖1-13 完成的題目會變成灰色

圖1-14 時間限制

主站蜘蛛池模板: 迭部县| 武汉市| 永安市| 汉中市| 萍乡市| 鞍山市| 神木县| 东光县| 和田县| 彰武县| 晋州市| 玛沁县| 沿河| 资源县| 当涂县| 长寿区| 新泰市| 武威市| 长泰县| 娄烦县| 武定县| 罗田县| 新沂市| 屯门区| 上高县| 鹤岗市| 新津县| 湛江市| 宁阳县| 永兴县| 蕲春县| 大埔区| 和田市| 凌海市| 蒙自县| 武冈市| 渭源县| 梅州市| 禹州市| 宜章县| 江孜县|