CTF之做题总结(三)
一、Crypto(密碼學)
1、Alice與Bob
題目描述:
密碼學歷史中,有兩位知名的杰出人物,Alice和Bob。他們的愛情經過置換和輪加密也難以混淆,即使是沒有身份認證也可以知根知底。就像在數學王國中的素數一樣,孤傲又熱情。下面是一個大整數:98554799767,請分解為兩個素數,分解后,小的放前面,大的放后面,合成一個新的數字,進行md5的32位小寫哈希,提交答案。 注意:得到的 flag 請包上 flag{} 提交。
題目中說把 98554799767 這個大整數分解為兩個素數,那么我們就可以用分解質因數解密工具對這個大整數進行分解,分解之后的結果為 101999*966233。
然后題目中又說了把分解后的結果,小的放前面,大的放后面,合成一個新的數字 101999966233,之后進行md5的32位小寫哈希,然后我們可以用哈希解密工具對合成之后的新數字進行解密,同時要注意題目是讓我們進行md5的32位小寫哈希,所以我們要記得勾選md5那一項,然后進行解密就可以了。最后得到的 flag 記得包上 flag{} 再進行提交就行了。
這道題的最后再附上“質數合數”和“分解質因數”的相關概念和方法,供大家參考學習。
2、[BJDCTF 2nd]cat_flag
題目內容如下圖所示:
圖中的小貓,有的小貓有雞腿,有的小貓沒有雞腿。剛看到這張圖片沒有一點頭緒,經過查詢之后發現,沒有雞腿的小貓可以聯想到二進制數0,而有雞腿的小貓可以聯想到二進制數1。
所以可以將圖片用二進制表示為:
01000010
01001010
01000100
01111011
01001101
00100001
01100001
00110000
01111110
01111101
然后再將二進制轉換為十六進制:424A447B4D2161307E7D
最后再用工具把十六進制轉換為字符串就得到flag了。
附錄:
二進制數要轉換為十六進制,就是以4位一段,分別轉換為十六進制。從右到左,4位一切,左邊不滿4位的可以用0補滿。
0000 對應16進制 0
0001 對應16進制 1
0010 對應16進制 2
0011 對應16進制 3
0100 對應16進制 4
0101 對應16進制 5
0110 對應16進制 6
0111 對應16進制 7
1000 對應16進制 8
1001 對應16進制 9
1010 對應16進制 A
1011 對應16進制 B
1100 對應16進制 C
1101 對應16進制 D
1110 對應16進制 E
1111 對應16進制 F
3、[BJDCTF 2nd]燕言燕語-y1ng
題目內容:79616E7A69205A4A517B78696C7A765F6971737375686F635F73757A6A677D20
看到題目內容里只有數字0到9和字母A到F,所以我們可以肯定這是一串十六進制數字,于是我們就用工具把十六進制轉換為字符串來看一下,轉換之后得到結果yanzi ZJQ{xilzv_iqssuhoc_suzjg}。
提交之后發現這個并不是正確答案,然后又經過一番查詢,發現十六進制轉換為字符串之后得到的結果好像是維吉尼亞密碼,然后用維吉尼亞密碼解密工具進行解密就可以得到flag:BJD{yanzi_jiushige_shabi},密鑰是yanzi。
關于維吉尼亞密碼在線解密和基本內容的鏈接:
link.
二、Web
1、view_source
看到題目我們按照提示先打開題目場景,然后發現題目場景里面給我們了一個地址http://220.249.52.133:30620,然后我們打開題目提供給我們的地址,打開地址的結果如下圖所示,它提示我們FLAG is not here。
并且題目描述里面告訴我們:X老師讓小寧同學查看一個網頁的源代碼,但小寧同學發現鼠標右鍵好像不管用了。然后我們發現再題目提供給我們的網頁里鼠標右鍵確實不能用了,那怎么辦呢,我們可以點擊鍵盤上的F12鍵,然后我們發現flag就藏在那一串代碼中。
附錄:
view-source是一種協議,早期基本每個瀏覽器都支持這個協議。后來對WindowsXP pack2及更高版本以后IE不再支持此協議。但在FireFox和Chrome瀏覽器都還可以使用。 如果要在IE下查看源代碼,只能使用查看中的“查看源代碼”命令。
以前的使用方法:
在瀏覽器地址欄中輸入“view-source: sURL”,回車即可看到當前網頁的源代碼了。
JS用法:window.location=“view-source:” + window.location,瀏覽器直接查看源碼
2、backup
看到題目我們按照提示先打開題目場景,然后發現題目場景里面給我們了一個地址http://220.249.52.133:38819,然后我們打開題目提供給我們的地址,打開地址的結果如下圖所示,它提示我們“你知道index.php的備份文件名嗎?”。
常見的備份文件后綴名有:“.rar”、“.zip”、“.7z”、“.tar”、“.gz”、“.bak”、“.txt”、“.html”、“.git” 、“.svn”、“ .swp” 、“.bash_history”、“.bkf ” 、linux中可能以" ~ " 結尾,所以就可以在URL后面,依次輸入常見的文件備份擴展名,然后看哪個是正確的。這道題我們試過之后發現加后綴“/index.php.bak”是正確的,如下圖紫色框內圈的內容。
加后綴“/index.php.bak”并打開網頁之后會提示我們下載一個文件,我們下載之后打開這個備份文件,然后我們會發現flag就藏在代碼中。
總結
以上是生活随笔為你收集整理的CTF之做题总结(三)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#Socket Clinet
- 下一篇: U盘格式化里面的文件还能找回来吗