前言
CTF簡介
中文一般譯作奪旗賽,在網(wǎng)絡(luò)安全領(lǐng)域中指的是網(wǎng)絡(luò)安全技術(shù)人員之間進(jìn)行技術(shù)競技的一種比賽形式
CTF起源于1996年DEFCON全球黑客大會,以代替之前黑客們通過互相發(fā)起真實攻擊進(jìn)行技術(shù)比拼的方式
競賽模式
解題模式:
在解題模式CTF賽制中,參賽隊伍可以通過互聯(lián)網(wǎng)或者現(xiàn)場網(wǎng)絡(luò)參與,這種模式的CTF競賽與ACM編程競賽、信息學(xué)奧賽比較類似,以解決網(wǎng)絡(luò)安全技術(shù)挑戰(zhàn)題目的分值和時間來排名,通常用于在線選拔賽。題目主要包含逆向、漏洞挖掘與利用、Web滲透、密碼、取證、隱寫、安全編程等類別。
攻防模式:
在攻防模式CTF賽制中,參賽隊伍在網(wǎng)絡(luò)空間互相進(jìn)行攻擊和防守,挖掘網(wǎng)絡(luò)服務(wù)漏洞并攻擊對手服務(wù)來得分,修補自身服務(wù)漏洞進(jìn)行防御來避免丟分。攻防模式CTF賽制可以實時通過得分反映出比賽情況,最終也以得分直接分出勝負(fù),是一種競爭激烈,具有很強觀賞性和高度透明性的網(wǎng)絡(luò)安全賽制。在這種賽制中,不僅僅是比參賽隊員的智力和技術(shù),也比體力(因為比賽一般都會持續(xù)48小時及以上),同時也比團隊之間的分工配合與合作。
混合模式:
結(jié)合了解題模式與攻防模式的CTF賽制,比如參賽隊伍通過解題可以獲取一些初始分?jǐn)?shù),然后通過攻防對抗進(jìn)行得分增減的零和游戲,最終以得分高低分出勝負(fù)。采用混合模式CTF賽制的典型代表如iCTF國際CTF競賽。
預(yù)選賽
都是線上比賽,比賽形式幾乎都是解題模式。進(jìn)入官方提供的網(wǎng)站,登錄賬號密碼后會到一個頁面,題目按類別分類(后續(xù)會講有什么類別),點擊后提供題目鏈接、題目信息、題目提示和flag(答案)提交,提交后會得到分?jǐn)?shù)。其中,一血、二血、三血拿的分?jǐn)?shù)比較高,后面答該題的隊伍拿的分?jǐn)?shù)就一樣了,答題的隊伍越少,分?jǐn)?shù)就越多,然后按分?jǐn)?shù)排名,確定進(jìn)入決賽的隊伍。
如:一道簽到題,開始定的分為500,當(dāng)有隊伍提交正確的flag,那么分?jǐn)?shù)就會下降,下降到470/450這樣的,人數(shù)越多,分?jǐn)?shù)下降幅度越大。而一血二血三血獲得分?jǐn)?shù)會高于后續(xù)答題正確的
總決賽
幾乎都是線下賽,進(jìn)行混合模式,因為攻防模式的題目容易出現(xiàn)易守難攻、比速度節(jié)題這種學(xué)習(xí)不到知識的問題,也因為這樣,大部分的總決賽都是以逆向為主,很容易變成逆行大賽。那么像web選手去干嗎呢?喝茶打雜去吧!
二、題目分類
題目一般為6大類:
1.Web(網(wǎng)絡(luò)安全)
Web是CTF競賽中主要的題型之一,題目涉及到許多常見的WEB漏洞,諸如XSS、文件包含、代碼執(zhí)行、上傳漏洞、SQL注入。也有一些簡單的關(guān)于網(wǎng)絡(luò)基礎(chǔ)知識的考察,例如返回包、TCP-IP、數(shù)據(jù)包內(nèi)容和構(gòu)造。可以說題目環(huán)境比較接近真實環(huán)境。
所需知識點:PHP、Python、SQL(以mysql為主)、TCP-IP、linux命令、html、javascript等。
2.MISC(安全雜項)
MISC是大型CTF競賽的題目難度很大,是一個可以拉開分?jǐn)?shù)的類型,而在小型競賽和題庫中卻難度不大。題目涉及隱寫術(shù)、流量分析、電子取證、人肉搜索、數(shù)據(jù)分析、大數(shù)據(jù)統(tǒng)計等等,覆蓋面比較廣,主要考查參賽選手的各種基礎(chǔ)綜合知識。
所需知識點:熟悉使用眾多隱寫工具、流量審查工具、了解編碼等。
3.Crypto(密碼學(xué))
主要包括古典密碼學(xué)和現(xiàn)代密碼學(xué)兩部分內(nèi)容,古典密碼學(xué)趣味性強,種類繁多,現(xiàn)代密碼學(xué)安全性高,對算法理解的要求較高。
所需知識點:矩陣、數(shù)論、古典密碼學(xué)、算法等。
4.Reverse(逆向)
題目涉及到軟件逆向、破解技術(shù)等,要求有較強的反匯編、反編譯扎實功底。主要考查參賽選手的逆向分析能力。
所需知識點:匯編語言、加密與解密、常見反編譯工具。
5.Mobile(移動安全)?
主要介紹了安卓逆向中的常用工具和主要題型,安卓逆向常常需要一定的安卓開發(fā)知識,iOS 逆向題目在 CTF 競賽中較少出現(xiàn),因此不作過多介紹。
6.?PWN(二進(jìn)制安全)
PWN在黑客俚語中代表著攻破,取得權(quán)限,在CTF比賽中它代表著溢出類的題目,其中常見類型溢出漏洞有棧溢出、堆溢出。主要考察參數(shù)選手對漏洞的利用能力。
所需知識點:C,OD+IDA,數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng)。
7.(區(qū)塊鏈)
-近來多個CTF比賽均出現(xiàn)區(qū)塊鏈題目,區(qū)塊鏈應(yīng)用越來越成為熱門應(yīng)用,在未來區(qū)塊鏈會成為一個重點。因為沒有接觸過,這里不詳細(xì)講。
三、怎么入門
入門這一塊是我們這些新手的一道大大的門檻,很多人都是不知道怎么入門。
個人入門步驟
1.確定方向
一般分為兩個方向
A 方向:PWN+Reverse+Crypto 隨機搭配
B 方向:Web+Misc 組合
Misc 所有人都可以做
入門知識:
都要學(xué)的內(nèi)容:Windows 基礎(chǔ)、Linux 基礎(chǔ)、計算機組成原理、操作系統(tǒng)原理、網(wǎng)絡(luò)協(xié)議分析
A 方向:IDA 工具使用(fs 插件)、逆向工程、密碼學(xué)、緩沖區(qū)溢出等
B 方向:Web 安全、網(wǎng)絡(luò)安全、內(nèi)網(wǎng)滲透、數(shù)據(jù)庫安全等前10的安全漏洞
2.怎么刷題
刷題非常重要,很多人在其他ctf入門教程中都可以看到刷題是第一步,也是進(jìn)階的重要一步
例題1:bugku中的web2
打開題目發(fā)現(xiàn)一堆笑臉瘋狂向你懟來,而且速度越來越快,那么這一題怎么做呢?
?這一題考察的是信息收集。在Chrome(谷歌瀏覽器)點擊f12,就可以打開控制臺,可以看見其中有一條
<!--flag KEY{Web-2-bugKssNNikls9100}-->
?這一句是什么意思,就是把答案告訴你了,你可以把KEY{Web-2-bugKssNNikls9100}提交到輸入框就可以獲得分?jǐn)?shù)了。
總結(jié)
提交完flag后要做什么呢?這時你就要看這一題考察的是什么?控制臺,那么控制臺又是什么呢?要是知道就做下一題,如果不知道那么我就谷歌(什么是網(wǎng)頁控制臺),也可以百度,然后找到一篇知乎的回答Chrome 按下 F12 之后出現(xiàn)的功能是做什么用的?
在記住后看這一知識點難不難,自己能不能掌握,如果怕忘記,那你就記筆記
3.以練促賽,以賽養(yǎng)練
選擇一場已經(jīng)存在Writeup的比賽或者參加一場最新的CTF比賽。
總結(jié)解題過程,最好能寫一寫博客之類的。
4.推薦平臺
?極力推薦bugku,其他的后面慢慢來,先把bugku做好,然后在做攻防世界,你就會跨入進(jìn)階的門檻了。
5.工具收集
不要先去下載別人推薦的工具,反正你是不會去學(xué)的,一定要在解題的過程中尋找,那樣你回加深印象,也能直接總結(jié)一套經(jīng)驗出來。
四、編程
很多人會糾結(jié)到底要不要深入編程。不要太深入,差不多就可以了,對照文檔就可以寫出程序就差不多了且能看得懂就好了,因為每個語言都是學(xué)不完的,一直在更新,如果過分專注于一個語言,安全知識就挺容易漏下的?;騽t是針對一些熱門的編程進(jìn)行深入,比如PHP、python、java之類的,其中PHP可以說是必學(xué)項目,如果可以的話,把這門語言學(xué)透,那么代碼審計一點壓力都沒有。
上面都是個人想法,怎么選都要靠自己決定,要不要深入、深入哪一門都是問題,一定要考慮清楚再下手,切勿學(xué)了一半就改變方向,這是學(xué)習(xí)的大忌,因為你學(xué)其它的也會這樣,除非是你發(fā)現(xiàn)這個不是很適合你的發(fā)展。
總結(jié)
最重要的是刷題,,不會就看別人的Writeup,不要怕做不出,刷題一開始是很無聊的,但這是學(xué)習(xí)的過程,如果不做就永遠(yuǎn)不會。
最后附上我整理好的CTF學(xué)習(xí)資料,需要的小伙伴可以關(guān)注我后臺自動發(fā)送哦
?文章來源:http://www.zghlxwxcb.cn/news/detail-609259.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-609259.html
到了這里,關(guān)于從零開始學(xué)習(xí)CTF的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!