CTF(Capture The Flag)中文一般譯作奪旗賽,在網絡安全領域中指的是網絡安全技術人員之間進行技術競技的一種比賽形式。CTF起源於1996年DEFCON全球黑客大會,以代替之前黑客們通過互相發起真實攻擊進行技術比拼的方式。發展至今,已經成為全球范圍網絡安全圈流行的競賽形式,2013年全球舉辦了超過五十場國際性CTF賽事。而DEFCON作為CTF賽制的發源地,DEFCON CTF也成為了目前全球最高技術水平和影響力的CTF競賽,類似於CTF賽場中的“世界杯”
CTF競賽模式
單兵作戰:理論,雜項,web,pwn,逆向等各種題目
綜合靶場:團隊形式,攻擊相同環境的靶機,只需攻擊,不需防御,針對同一個環境,越早拿到flag越好
混戰模式:參賽團隊即是攻擊者,也是防御者
CTF知識點
web:sql注入,xss,文件上傳,包含漏洞,xxe,ssrf,命令執行,代碼審計等
pwd:攻擊遠程服務器的服務,會提供服務程序的二進制文件,分析漏洞並編寫exp,棧溢出,堆溢出,繞過保護機制(ASLR,NX等)
reverse:逆向,破解程序的算法來得到程序中的flag,對抗反調試,代碼混淆等
mobile:主要考察選手對安卓和ios系統的理解
misc:雜項,取證,編解碼,加解密,隱寫,圖片處理,壓縮包,編程......
雜項:
隱寫術(steganography):將信息隱藏在其他載體中,不讓計划的接收者之外的人獲取到信息
常見載體:
圖片:細微顏色差別,GIF圖多幀隱藏,exif信息隱藏,圖片修復等 ----解題工具 Stegsolve
音頻:信息隱藏在聲音里(逆序),信息隱藏在數據里(分析音頻數據) ----解題工具 Audition,Matlab
視頻:信息隱藏在視頻的某個或多個幀里 ---解題工具 Premiere
文件隱寫:把多個文件拼接成一個 ---解題工具 binwalk
密碼學及編碼:
凱撒密碼(caeser):是一種最簡單且最廣為人知的加密技術。它是一種替換加密的技術,明文中的所有字母都在字母表上向后(或向前)按照一個固定數目進行偏移后被替換成密文。例如,當偏移量是3的時候,所有的字母A將被替換成D,B變成E,以此類推
加解密方法---
在線工具
python的pycipher模塊
pip install pycipher
>>> from pycipher import Caesar
>>> Caesar(key=5).encipher("XXSEC")
'CCXJH'
>>> Caesar(key=5).decipher("CCXJH")
'XXSEC'
>>>
ROT13(Rotate By 13 Places):可以理解為一種特殊的凱撒密碼,套用ROT13到一段文字上僅僅只需要檢查字元字母順序並取代它在13位之后的對應字母,有需要超過時則重新繞回26英文字母開頭即可。A換成N、B換成O、依此類推到M換成Z,然后序列反轉:N換成A、O換成B、最后Z換成M。只有這些出現在英文字母里頭的字元受影響;數字、符號、空白字元以及所有其他字元都不變。因為只有在英文字母表里頭只有26個,並且26=2×13,ROT13函數是它自己的逆反
加解密方法---
在線工具
柵欄密碼(Rail Fence Cipher):把要加密的信息分成N組,依次取各組的1,2,3....位
例:
明文:XSECHITMAN
分組:XSEC
HITMAN
密文:XHECITMAN(2欄)
加解密方法---
在線工具
弗吉尼亞密碼(Vigenere Cipher):維吉尼亞密碼是在凱撒密碼基礎上產生的一種加密方法,它將凱撒密碼的全部25種位移排序為一張表,與原字母序列共同組成26行及26列的字母表。另外,維吉尼亞密碼必須有一個密鑰,這個密鑰由字母組成,最少一個,最多可與明文字母數量相等
例:
明文:XSEC
密鑰:XX
密文:UPBZ
加解密方法---
在線工具
腳本
對稱加密算法
特點:使用加密用過的密鑰及相同的逆算法對密文進行解密,才能使其恢復可讀明文,即加密解密使用相同的密鑰,
常見對稱加密算法:DES:3DES,AES等
加解密方法---
在線工具
豬圈密碼:豬圈密碼(亦稱朱高密碼、共濟會暗號、共濟會密碼或共濟會員密碼),是一種以格子為基礎的簡單替代式密碼。即使使用符號,也不會影響密碼分析,亦可用在其它替代式的方法
加解密方法---
在線工具
培根密碼:加密時,明文中的每個字母都會轉換成一組五個英文字母。其轉換依靠下表
加密者需使用兩種不同字體,分別代表A和B。准備好一篇包含相同AB字數的假信息后,按照密文格式化假信息,即依密文中每個字母是A還是B分別套用兩種字體。
加解密方法---
在線工具
編碼和摘要
加密:加密傳輸信息,保證信息的安全性,通過密鑰和密文可以還原原始信息
編碼:將數據轉換成某種固定的格式的編碼信息,方便不同系統間的傳輸,通過編碼信息可以得到原始信息
散列:也叫摘要或哈希,驗證信息的完整性,不能通過哈希值還原原始信息
常見的編碼:ASCII,Base64,URL,HTML,Unicode,UTF-8,莫斯電碼,二維碼
隱寫術常用的工具
Stegsolve.jar:圖片隱寫術工具
010Editor/vim:查看16進制數
Photoshop:圖片拼接查看
Audition:音頻隱寫工具
常見密碼編碼工具
在線加解密工具
python腳本
CTF解密框架(https://github.com/0Chencc/CTFCrackTools)
Burp的Decoder模塊
取證技巧
流量分析:
wireshark:協議篩選,追蹤流,文件導出
電子取證:
日至分析通過日志分析尋找隱藏在其中的信息
sql注入點的查找,webshell的查找,用戶訪問敏感路徑的查找
雜項題目解題思路
前期准備:
工具,知識
解題過程:判斷考點(單個考點?多個考點?)
形成思路(如何嘗試?什么工具?)
距離答案只有一步之遙
友情鏈接 http://www.cnblogs.com/klionsec
http://www.cnblogs.com/l0cm
http://www.cnblogs.com/Anonyaptxxx
http://www.feiyusafe.cn