1. 程式人生 > >ctf密碼學習題總結

ctf密碼學習題總結

1.變異凱撒

加密密文:afZ_r9VYfScOeO_UL^RWUc
格式:flag{ }   一看題中說的是凱撒加密,我就趕快使用工具列出了所有的組合,然而發現沒有一個是我想要的。 於是乎,又重新審題,說的是變異凱撒,看來不能輕敵,得自己動手嘗試嘍! 我先找出加密密文前四個字母的ASCII碼分別為97  102   90  95 又寫出了flag對應的ASCII碼分別為102  108  97  103 發現他們分別相差5  6  7  8 這樣就找到規律了,懶得一個一個去查詢ASCII碼,寫個程式碼解密出來:
#include<stdio.h>
int
main(){ char c[]= "afZ_r9VYfScOeO_UL^RWUc"; for(int i = 0;c[i]!='\0';i++){ c[i]=c[i]+i+5; } printf("%s",c); }

得到flag{Caesar_variation}

2.傳統知識+古典密碼分值:10

小明某一天收到一封密信,信中寫了幾個不同的年份
          辛卯,癸巳,丙戌,辛未,庚辰,癸酉,己卯,癸巳。

          信的背面還寫有“+甲子”,請解出這段密文。

key值:CTF{XXX}

 

看到了一些年份,就在網上找出來了一份順序表

 根據表找出不同年份對應的數字,背面說+甲子,於是在每個數字上面再加了60,得到   88  90  83  68  77  70  76  90 根據這些數字,我們的第一反應當然是ASCII,於是找出它對應的字元   XZSDMFLZ 於是用工具先進行柵欄解密、再凱撒解密得到flag  

3.try them all分值:10

  You have found a passwd file containing salted passwords. An unprotected configuration file has revealed a salt of 5948. The hashed password for the 'admin' user appears to be 81bdf501ef206ae7d3b92070196f7e98, try to brute force this password.   題中提到雜湊密碼,將81bdf501ef206ae7d3b92070196f7e98進行MD5解密(https://www.somd5.com/),得到sniper5948 再將5948的鹽去掉,得到Flag.    

4.robomunication分值:10

We recorded the following file between two robots. Find out what evil things they are plotting, and recover their secret key!

解題連結: http://ctf5.shiyanbar.com/crypto/robomunication/robo.rar 

開啟連結聽音樂,啵嗶嗶嗶......,一聽就是摩斯密碼,用Audacity,根據波的寬度,寬的為-,短的為.,寫出來後在這裡(https://www.ctftools.com/down/)解密get flag。

 

5.奇怪的簡訊分值:10

收到一條奇怪的簡訊:

          335321414374744361715332

          你能幫我解出隱藏的內容嘛?!

格式:CTF{xxx}

 

題中說了是簡訊,就想到了手機......九鍵輸入法!

兩兩分組,33指的是第3個按鍵上的第三個字母,也就是F,,以此類推,就得到Flag.

 

6.圍在柵欄中的愛分值:10

最近一直在好奇一個問題,QWE到底等不等於ABC?

-.- .. --.- .-.. .-- - ..-. -.-. --.- --. -. ... --- --- 

flag格式:CTF{xxx}

 

首先看到摩斯電碼轉化為對應的符號,kiqlwtfcqgnsoo

然後題中說了QWE等不等於ABC,而QWE分別為鍵盤中第一行前三個字母,然後我們就想到將鍵盤中的字母依次與ABCDEFG替換,得到rhasbenvaoylii

題中又說了圍在柵欄中的愛,於是我們就試著用柵欄解密找出love。

發現在七欄中,逆序輸出得到flag.

 

7.疑惑的漢字分值:10

 

現有一段經過加密的密文,內容如下:王夫 井工 夫口 由中人 井中 夫夫 由中大。請找出這段密文隱藏的訊息明文。

格式:CTF{ }

 

看到這樣的漢字,就想到了當鋪密碼。

當鋪密碼 就是一種將中文和數字進行轉化的密碼演算法相當簡單:當前漢字有多少筆畫出頭,就是轉化成數字幾。

題目中的漢字: 王夫 井工 夫口 由中人 井中 夫夫 由中大

轉換為數字:67 84 70 123 82 77 125

對照ASCII碼,get flag.

 

8.古典密碼分值:10

密文內容如下{79 67 85 123 67 70 84 69 76 88 79 85 89 68 69 67 84 78 71 65 72 79 72 82 78 70 73 69 78 77 125 73 79 84 65}

請對其進行解密

提示:1.加解密方法就在謎面中

         2.利用key值的固定結構

格式:CTF{ }

 

看到了數字,將其進行十進位制解碼(https://www.jb51.net/tools/zhuanhuan.htm?spm=a2c4e.11153940.blogcont333129.5.57da1656KJDtYs)OCU{CFTELXOUYDECTNGAHOHRNFIENM}IOTA

看到字串中有CTF,就想到了柵欄密碼,35個字元,將其分為5行7列

OCU{CFT
ELXOUYD
ECTNGAH
OHRNFIE
NM}IOTA

在進行列置換,

CTF{COU
LDYOUEX
CHANGET
HEINFOR
MATION}

連起來就得到Flag.

 

9.困在柵欄裡的凱撒分值:10

  小白髮現了一段很6的字元:NlEyQd{seft}   先用柵欄得:NEQ{etlydsf} 再用凱撒得到:CTF{tianshu}  

10.Decode分值:10 

flag格式:ctf{}

解題連結: http://ctf5.shiyanbar.com/crypto/Readme.txt 

 

首先將十六進位制解碼轉換為字元(https://www.sojson.com/hexadecimal.html)

得到url編碼
%4d%54%45%35%43%6a%45%77%4d%51%6f%78%4d%44%67%4b%4f%54%6b%4b%4d%54%45%78%43%6a%45%77%4f%51%6f%78%4d%44
%45%4b%4d%54%45%32%43%6a%45%78%4d%51%6f%78%4d%54%55%4b%4d%54%41%30%43%6a%45%77%4e%51%6f%78%4d%6a%45%4b
%4f%54%63%4b%4d%54%45%77%43%6a%6b%34%43%6a%6b%33%43%6a%45%78%4e%41%3d%

再將url編碼在http://tool.chinaz.com/Tools/Unicode.aspx解得

MTE5CjEwMQoxMDgKOTkKMTExCjEwOQoxMD
EKMTE2CjExMQoxMTUKMTA0CjEwNQoxMjEK

在進行base64解密得119 101 108  99 111 109 101 116 111 115 104 105 121 97 110 98 97 114

最後根據ASCII碼轉換為字元,得到Flag。