xctf-CRYPTO-新手練習區Exercise area-Writeup


1        XCTF平台crypto新手練習區題目

 

https://adworld.xctf.org.cn/task/task_list?type=crypto&number=5&grade=0

 

1.1      base64

 

  根據題目應該是base64編碼;

 

  打開附件后看到一串符合base64編碼的字符串;

  base64解碼后得到flag~

 

1.2      Caesar

 

 

  打開附件,可以觀察格式符合flag的格式cyberpeace{xxx_xxx_xxx},根據題目,可以合理猜測這里用的是凱撒加密,根據第一位c變成了o,可得位移為12;

  通過工具,解密得到flag~

 

1.3      Morse

 

 

  根據題目以及附件可以判斷該題是摩斯密碼,將1替換為-,將0替換為.后,用工具解密即可;

 

 

  根據題目格式說明最后均為小寫字母,取得flag~

 

1.4      混合編碼

 

 

  首先看附件的內容猜測這是base64編碼后的,先進行base64解碼,發現是Unicode的&#;編碼,解碼后發現還是base64編碼,再次進行解碼后出現一串數字,可以推測是ascii碼,根據ascii碼對照表取得flag~

 

1.5      冪數加密

 

 

  根據題目可知是冪數加密,又根據題目可知flag是8位大寫字母,觀察附件的數字串,根據冪數加密的原理,該題最大的數字是8,可知底數應該是1,觀察發現有7個0,正好可以將之分成8份,,即88421/122/48/2244/4/142242/248/122,加起來后為23/5/12/12/4/15/14/5,對應26個字母即WELLDONE,取得flag~

 

1.6      Railfence

 

 

  根據題目“柵欄里面5只小雞”以及附件內容的格式可知,使用了柵欄密碼且欄數為5,直接使用工具解密;

  發現解密后不符合flag格式,看來不是傳統型的柵欄密碼;

 

  使用W型的柵欄密碼解密工具后取得flag~

 

1.7      easy RSA

 

 

  已知P、Q和e三個參數,求解d;

 

  使用工具,取得flag~

 

1.8      不僅僅是Morse

 

  首先用摩斯密碼先解一下;

 

  可以看到后面有一串AB組成的字符,原理應該是二進制的方式加密,根據題目提示,是一種食物命名的加密,推測為培根加密;

 

  將AB字符串用培根密碼解密后取得flag~

 

1.9      Easychallenge

 

 

  附件是.pyc二進制文件,下載后用反編譯工具查看其源碼;

 

  可以注意到用了三次加密的方法對輸入進行加密后和final進行比較,那么我們對final反向解密三次即可;

 

  這是三次加密的代碼,分析一波:首先encode1()函數對每個字符轉換成ascii碼后和36進行亦或操作,然后加上25后重新轉為字符串;encode2()函數對每個字符轉換成ascii碼后先加上36再和36進行亦或操作后重新轉換為字符串;encode3()函數就是簡單的用base32加密;

 

  針對每個加密步驟寫對應的解密步驟后進行解密即可,運行取得flag~

 

1.10  Normal RSA

 

 

 

  這里有兩個文件,思路:pubkey.pem是公鑰文件,我們從中可以獲得公鑰中的N參數,然后使用工具進行分解獲得p和q兩個參數,然后flag.enc是加密后的文件,用python寫個程序進行破解,進而取得flag。

 

  用openssl命令取得pubkey.pem文件中的N和e;

  (Tips:這時N為十六進制,注意轉成十進制。)

  取得N后分解獲得q和p;

 

  用rsatool.py生成一個私鑰后解密flag.enc取得flag即可~

 

1.11  轉輪機加密

 

 

  輪轉密碼。首先根據密鑰重新排序:即第二行為原本第三行,第三行為原本第七行,以此類推,得到以下內容:

 

  然后根據密文,將每一行的開頭調整為對應的密文,得到以下:

 

  沒有找到flag;

  重新按密鑰進行排序,這次改為第一行對應第一個密鑰即第二行,第二行對應第二個密鑰即第三行,得到以下:

  

  然后按照密文進行排序:

 

  第一行按照密文排好后我們可以發現其中一行為“fireinthehole”,取得flag~

 

1.12  easy ECC

 

 

  已知ECC的其他參數求公鑰K;

  直接使用工具求得公鑰;

 

根據題目flag為x+y的值,取得flag~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM