『壹』 文件包含CTF題目
1、鏈接: 南京郵電大學網路攻防平台文件包含150
2、解題方法:
使用 php://filter 協議讀取index文件。
3、源碼分析
對data、input協議及../進行了過濾,但能通過filter協議進行讀取。
1、鏈接: BugkuCTF本地包含60
2、解題方法
拼接eval構造payload。
3、源碼分析
這里注意php語言的一些變數定義及函數。
4、進階
該題和php變數定義的理解聯系緊密,可參考 博客 ,進一步學習。
1、鏈接: BugkuCTF本地包含2 150
2、解題方法
查看源碼,發現upload.php,結合題目提示想到本地包含配合文件上傳。
然鵝上傳後感覺文件被秒刪了,菜刀也沒連接上。另找方法。
在圖片馬中修改payload為<script language=php>system("ls")</script>,利用文件包含列出當前目錄,發現flag文件,再查看文件獲得flag。
1、鏈接: I春秋「網路杯」CTF比賽 2017 二月場 50
2、解題方法
根據提示很容易測出文件包含漏洞。
發現無法寫入php文件,利用system函數執行命令,獲取當前目錄文件。
利用 php://input 協議讀取文件。
『貳』 ctf 中sqlmap的題目源代碼怎麼寫
柵欄加密法是一種比較簡單快捷的加密方法。柵欄加密法就是把要被加密的文件按照一上一下的寫法寫出來,再把第二行的文字排列到第一行的後面。相應的,破譯方法就是把文字從中間分開,分成2行,然後插入。柵欄加密法一般配合其他方法進行加密。
例:
加密information
分行
i f r a i n
n o m t o
合並
ifrainnomto
完成~
『叄』 CTF各個方向的具體內容是什麼
如下:
Reverse
題目涉及到軟體逆向、破解技術等,要求有較強的反匯編、反編譯功底。主要考查參賽選手的逆向分析能力。
所需知識:匯編語言、加密與解密、常見反編譯工具
Pwn
Pwn 在黑客俚語中代表著攻破,獲取許可權,在 CTF 比賽中它代表著溢出類的題目,其中常見類型溢出漏洞有整數溢出、棧溢出、堆溢出等。主要考查參賽選手對漏洞的利用能力。
所需知識:C,OD+IDA,數據結構,操作系統
Web
Web 是 CTF 的主要題型,題目涉及到許多常見的 Web 漏洞,如 XSS、文件包含、代碼執行、上傳漏洞、SQL 注入等。也有一些簡單的關於網路基礎知識的考察,如返回包、TCP/IP、數據包內容和構造。可以說題目環境比較接近真實環境。
所需知識:PHP、python、TCP/IP、SQL
Crypto
題目考察各種加解密技術,包括古典加密技術、現代加密技術甚至出題者自創加密技術,以及一些常見編碼解碼,主要考查參賽選手密碼學相關知識點。通常也會和其他題目相結合。
所需知識:矩陣、數論、密碼學
Misc
Misc 即安全雜項,題目涉及隱寫術、流量分析、電子取證、人肉搜索、數據分析、大數據統計等,覆蓋面比較廣,主要考查參賽選手的各種基礎綜合知識。
所需知識:常見隱寫術工具、Wireshark 等流量審查工具、編碼知識
Mobile
主要分為 Android 和 iOS 兩個平台,以 Android 逆向為主,破解 APK 並提交正確答案。
所需知識:Java,Android 開發,常見工具
CTF(Capture The Flag)中文一般譯作奪旗賽,在網路安全領域中指的是網路安全技術人員之間進行技術競技的一種比賽形式。CTF起源於1996年DEFCON全球黑客大會,以代替之前黑客們通過互相發起真實攻擊進行技術比拼的方式。
發展至今,已經成為全球范圍網路安全圈流行的競賽形式,2013年全球舉辦了超過五十場國際性CTF賽事。而DEFCON作為CTF賽制的發源地,DEFCON CTF也成為了目前全球最高技術水平和影響力的CTF競賽,類似於CTF賽場中的「世界盃」。
CTF 為團隊賽,通常以三人為限,要想在比賽中取得勝利,就要求團隊中每個人在各種類別的題目中至少精通一類,三人優勢互補,取得團隊的勝利。同時,准備和參與 CTF 比賽是一種有效將計算機科學的離散面、聚焦於計算機安全領域的方法。
賽事介紹
CTF是一種流行的信息安全競賽形式,其英文名可直譯為「奪得Flag」,也可意譯為「奪旗賽」。
其大致流程是,參賽團隊之間通過進行攻防對抗、程序分析等形式,率先從主辦方給出的比賽環境中得到一串具有一定格式的字元串或其他內容,並將其提交給主辦方,從而奪得分數。為了方便稱呼,我們把這樣的內容稱之為「Flag」。
CTF競賽模式具體分為以下三類:
解題模式(Jeopardy)
在解題模式CTF賽制中,參賽隊伍可以通過互聯網或者現場網路參與,這種模式的CTF競賽與ACM編程競賽、信息學奧賽比較類似,以解決網路安全技術挑戰題目的分值和時間來排名,通常用於在線選拔賽。題目主要包含逆向、漏洞挖掘與利用、Web滲透、密碼、取證、隱寫、安全編程等類別。
攻防模式(Attack-Defense)
在攻防模式CTF賽制中,參賽隊伍在網路空間互相進行攻擊和防守,挖掘網路服務漏洞並攻擊對手服務來得分,修補自身服務漏洞進行防禦來避免丟分。
攻防模式CTF賽制可以實時通過得分反映出比賽情況,最終也以得分直接分出勝負,是一種競爭激烈,具有很強觀賞性和高度透明性的網路安全賽制。在這種賽制中,不僅僅是比參賽隊員的智力和技術,也比體力(因為比賽一般都會持續48小時及以上),同時也比團隊之間的分工配合與合作。
混合模式(Mix)
結合了解題模式與攻防模式的CTF賽制,比如參賽隊伍通過解題可以獲取一些初始分數,然後通過攻防對抗進行得分增減的零和游戲,最終以得分高低分出勝負。採用混合模式CTF賽制的典型代表如iCTF國際CTF競賽。
『肆』 CTF-WEB-20180821-#XXE#JSON
-#XXE#json ——CTF{XxE_15_n0T_S7range_Enough}
API調用
請設法獲得目標機器/home/ctf/flag.txt中的flag值。 http://web.jarvisoj.com:9882/
3.6 提示中說flag在/home/ctf/flag.txt中,那麼應該是通過api的某些漏洞能夠達到任意文件讀取的效果。那麼是什麼漏洞呢……
4.於是大家殊!途!同!歸!來到這一步——直接看wp()。原來是XXE……
Content-Type: application/xml。並在body增加
要時時刻刻抱著一顆搞事的心,到處改()
這次的題目其實是做過的,但是又不記得了……雖然說溫故知新,但是怎麼溫出這么多故(),參考資料明天再看吧我困了……
『伍』 使用docker部署ctf_web題目
又是一年一度首都安全日,社團內部最近要舉辦次小比賽,萌新瑟瑟發抖地出了幾個web題。在部署題目的過程中才真正感受到docker的強大與方便,這邊稍微做個記錄。
這個 鏈接 十分詳細。
膜一波 大佬
注意:Mac終端即可上傳文件到伺服器。
詳見: Mac上傳文件到linux伺服器
『陸』 ctf一般多少題
ctf一般題目類型有七種,包括MISC、PPC、CRYPTO、PWN、REVERSE、WEB、STEGA。
1.MISC(Miscellaneous)類型,即安全雜項,題目或涉及流量分析、電子取證、人肉搜索、數據分析等等。
2.PPC(Professionally Program Coder)類型,即編程類題目,題目涉及到編程演算法,相比ACM較為容易。
3.CRYPTO(Cryptography)類型,即密碼學,題目考察各種加解密技術,包括古典加密技術、現代加密技術甚至出題者自創加密技術。這種4.PWN類型,PWN在黑客俚語中代表著攻破、取得許可權,多為溢出類題目。
5.REVERSE類型,即逆向工程,題目涉及到軟體逆向、破解技術。
6.STEGA(Steganography)類型,即隱寫術,題目的Flag會隱藏到圖片、音頻、視頻等各類數據載體中供參賽者獲取。
7.WEB類型,即題目會涉及到常見的Web漏洞,諸如注入、XSS、文件包含、代碼執行等漏洞。
『柒』 CTF流量分析之題型深度解析
0x01 介紹
在CTF比賽中,對於流量包的分析取證是一種十分重要的題型。通常這類題目都是會提供一個包含流量數據的pcap文件,參賽選手通過該文件篩選和過濾其中無關的流量信息,根據關鍵流量信息找出flag或者相關線索。
pcap流量包的分析通常都是通過圖形化的網路嗅探器——wireshark進行的,這款嗅探器經過眾多開發者的不斷完善,現在已經成為使用最為廣泛的安全工具之一。在之前的文章中,斗哥已經為大家介紹了 wireshark的基本使用 。接下來,斗哥將為大家介紹目前CTF流量分析中的經典題型和解題思路。
0x02 經典題型
CTF題型主要分為流量包修復、WEB流量包分析、USB流量包分析和其他流量包分析。
■ 流量包修復
比賽過程中有可能會出現通過wireshark打開題目給的流量包後提示包異常的情況,如下圖所示:
解題思路:
通過在線pacp包修復工具進行修復:
http://f00l.de/hacking/pcapfix.php
練練手
第一屆 「網路杯」 信息安全攻防總決賽 線上選拔賽:find the flag
pacp文件地址: https://static2.ichunqiu.com/icq/resources/fileupload/CTF/BSRC/2017/BSRC3-1/findtheflag.cap
■ WEB流量包分析
WEB數據包分析的題目主要出現WEB攻擊行為的分析上, 典型的WEB攻擊行為有:WEB掃描、後台目錄爆破、後台賬號爆破、WEBSHELL上傳、SQL注入等等。
題型:
通過給出的流量包獲取攻擊者使用的WEB掃描工具。
解題思路:
常見的WEB掃描器有Awvs,Netsparker,Appscan,Webinspect,Rsas(綠盟極光),Nessus,WebReaver,Sqlmap等。要識別攻擊者使用的是哪一種掃描器,可通過wireshark篩選掃描器特徵來得知。
相關命令:http contains 「掃描器特徵值」。
常見的掃描器特徵參考: https://www.freebuf.com/column/156291.htm
練練手
安恆八月月賽流量分析:黑客使用的是什麼掃描器?
pacp文件地址:
鏈接: https://pan..com/s/1bGEIPeXDCbhybmWOyGr8Og 提取碼:q6ro
題型:
已知攻擊者通過目錄爆破的手段獲取了網站的後台地址,請通過給出的流量包獲取後台地址。
解題思路:
要獲取流量包中記錄的後台地址,可通過wireshark篩選後台url特徵來得知。
相關命令:http contains 「後台url特徵」。
常見後台url特徵參考: https://www.freebuf.com/column/156291.html
練練手
安恆八月月賽流量分析:黑客掃描到的後台登錄地址是什麼?
pacp文件地址:
鏈接: https://pan..com/s/1bGEIPeXDCbhybmWOyGr8Og 提取碼:q6ro
題型:
已知攻擊者通過暴力破解的手段獲取了網站的後台登陸賬號,請通過給出的流量包獲取正確的賬號信息。
解題思路:
WEB賬號登陸頁面通常採用post方法請求,要獲取流量包中記錄的賬號信息可通過wireshark篩選出POST請求和賬號中的關鍵字如『admin』。
相關命令:http.request.method=="POST" && http contains == "關鍵字"。
練練手
安恆八月月賽流量分析:黑客使用了什麼賬號密碼登錄了web後台?
pacp文件地址:
鏈接: https://pan..com/s/1bGEIPeXDCbhybmWOyGr8Og 提取碼:q6ro
題型:
已知攻擊者上傳了惡意webshell文件,請通過給出的流量包還原出攻擊者上傳的webshll內容。
解題思路:
Webshell文件上傳常採用post方法請求,文件內容常見關鍵字eval,system,assert要。獲取流量包中記錄的webshell可通過wireshark篩選出POST請求和關鍵字.
相關命令:http.request.method=="POST" && http contains == "關鍵字"
練練手
安恆八月月賽流量分析:黑客上傳的webshell文件名是?內容是什麼?
pacp文件地址:
鏈接: https://pan..com/s/1bGEIPeXDCbhybmWOyGr8Og 提取碼:q6ro
■ USB流量包分析
USB流量指的是USB設備介面的流量,攻擊者能夠通過監聽usb介面流量獲取鍵盤敲擊鍵、滑鼠移動與點擊、存儲設備的銘文傳輸通信、USB無線網卡網路傳輸內容等等。在CTF中,USB流量分析主要以鍵盤和滑鼠流量為主。
■ 鍵盤流量
USB協議數據部分在Leftover Capture Data域中,數據長度為八個位元組。其中鍵盤擊鍵信息集中在第三個位元組中。數據如下圖所示:
如上圖所示擊鍵信息為0x05,對應的按鍵為「B「。
具體的鍵位映射關系可參考:《USB鍵盤協議中鍵碼》中的HID Usage ID,鏈接: https://wenku..com/view/9050c3c3af45b307e971971e.html
題型:**
Flag藏於usb流量中,通過USB協議數據中的鍵盤鍵碼轉換成鍵位。
解題思路:
1.使用kali linux中的tshark 命令把cap data提取出來:tshark -r usb.pcap -T fields -e usb.capdata > usbdata.txt,並去除空行。
練練手
安全評測人員在對某銀行卡密碼輸入系統進行滲透測試,截獲了一段通過USB鍵盤輸入6位數字密碼的流量,其中也包含了一些其他無關的USB設備的流量,你能從中恢復出6位數字密碼嗎?最終提交的flag格式為flag。
pacp文件地址:
鏈接: https://pan..com/s/1bGEIPeXDCbhybmWOyGr8Og
提取碼:q6ro
python鍵盤鍵碼轉換腳本:同上
■ 滑鼠流量
USB協議滑鼠數據部分在Leftover Capture Data域中,數據長度為四個位元組。
其中第一個位元組代表按鍵,當取0x00時,代表沒有按鍵、為0x01時,代表按左鍵,為0x02時,代表當前按鍵為右鍵。第二個位元組可以看成是一個signed byte類型,其最高位為符號位,當這個值為正時,代表滑鼠水平右移多少像素,為負時,代表水平左移多少像素。第三個位元組與第二位元組類似,代表垂直上下移動的偏移。數據如下圖所示:
如上圖所示數據信息為0x00002000,表示滑鼠垂直向上移動20。
題型 :
Flag藏於usb流量中,通過USB協議數據中的滑鼠移動軌跡轉換成Flag。
解題思路:
練練手
這是一道滑鼠流量分析題。
pacp文件地址:
鏈接: https://pan..com/s/1bGEIPeXDCbhybmWOyGr8Og 提取碼:q6ro
python滑鼠數據轉換腳本:同上
■ 其他流量包分析
除了常規的WEB和USB流量外,可能還存在諸如SMTP,Telnet等流量,均與WEB流量分析類似,不再贅述。
0x03 總結
以上為斗哥了解的流量分析在CTF比賽中的基本題型,歡迎大家補充。
參考:
《記一道USB流量分析CTF題》, https://blog.csdn.net/qq_36609913/article/details/78578406
CTF Wiki, https://ctf-wiki.github.io/ctf-wiki/introction/resources/
『捌』 [第四屆世安杯](web)writeup
利用ereg和strops處理數組的漏洞,提交?password[]=1
flag{Maybe_using_rexpexp_wasnt_a_clever_move}
觀察鏈接,file後面是一個base64,解碼為key.txt並沒有什麼用。將index.phpbase64,然後不斷修改line讀取源碼。
view-source:http://ctf1.shiyanbar.com/shian-quqi/index.php?line=&file=dGhpc2lzX2ZsYWcucGhw
flag{UHGgd3rfH*(3HFhuiEIWF}
最後:
x1=1a&x2={"x21":"2018a","x22":[[0],0]}&x3=XIPU18570
繞過x3的腳本
CTF{Php_1s_bstl4_1a}
源碼提示:``,那就直接進行爆破好了
腳本哪錯了?沒跑出來,不懂
讀取class.php:
http://ctf1.shiyanbar.com/shian-/index.php?user=http://120.27.32.227/3.txt&file=php://filter/convert.base64-encode/resource=class.php&pass=1
讀取index.php:
再通過序列化讀取flag:
http://ctf1.shiyanbar.com/shian-/index.php?user=http://120.27.32.227/3.txt&file=class.php&pass=O:4 :"Read":1:{s:4:"file";s:57:" php://filter/read=convert.base64-encode/resource=f1a9.php ";}
哦豁。。第一個也可以用 php://input 而不是遠程包含繞過
flag_Xd{hSh_ctf:e@syt0g3t}
小記:emm....這種水平的比賽...確實對於某些水平來是浪費時間...感覺自己到了一個瓶頸,難的比賽又不會,一些比較簡單的所獲甚微。哎....還是要學啊
『玖』 ctfshow-SSRF篇
參考: https://blog.csdn.net/miuzzx/article/details/111992415
payload:
使用file偽協議看到的flag.php源碼如下:
要求是 http 或者 https 協議,以及過濾了 localhost 和 127.0.0.1 。
額為什麼 preg_match() 裡面沒有指定對誰匹配,所以上一題的payload中的http協議的是可以使用的,file偽協議的過不了第一層判斷。
不過如果的確做了有效的正則匹配,那麼可以127.0.1 、127.1或者轉成16進制或者8進制繞過,payload如下:
使用進制轉換或者127.1繞過:
把1和0都ban了,可以修改自己域名的A記錄為127.0.0.1
A(Address)記錄是地址記錄,用來指定主機名(或域名)對應的IP地址記錄,通過A記錄,可以設置不同域名指向不同的IP。
payload如下:
也可以搭一個302跳轉,不過也是要有域名的 參考 :
要求host的長度小於等於5,使用如下payload:
還可找一個域名長度不大於5的域名 A 記錄解析到127.0.0.1。
要求host長度小於等於3,使用如下payload:
gethostbyname 返回主機名對應的 IPv4地址。
filter_var() 過濾器要求解析出來的ip地址是有效ip,並且不是私有ip或者不是保留ip,所以之前把自己域名的A記錄設置為127.0.0.1就不可行了,解析出來的ip是保留ip。
可以使用302重定向,vps搭一個:
payload如下:
還有一個方法是DNS重綁定漏洞,參考:
淺談DNS重綁定漏洞
具體操作如下:訪問 http://ceye.io/ 並注冊用戶,在這兒進行DNS重綁定:
多訪問幾次即可。
要求解析完的url以 http://ctf. 開頭,以 show 結尾,payload如下:
這樣 parse_url() 真正解析出來的host是127.0.0.1, ctf. 變為了user欄位,可以嘗試本地解析一下:
結果如下:
可以參考: https://ctf-wiki.org/web/ssrf/#_3
提示是打無密碼的mysql,抓包發現ssrf漏洞應該在check.php中:
輸入用戶名和想要執行的sql命令:
get方法的url參數,利用ssrf打redis,同上:
然後訪問網站根目錄下的shell.php即可。
『拾』 bugku_ctf,web第四題_post
這題跟第三題幾乎一樣,只不過是將get方法換為了post方法。
使用插件如postman, hackbar, http request maker等等,很多插件。選擇post模式,然後在 Body Data (也就是請求主體,請求內容)部分輸入 what=flag ,提交即可。