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