nctf-MISC與密碼學(wp)后續(xù)會更新

MISC

3.圖種
圖種

將下載的圖片改為rar解壓.png

nctf{dssdcmlw}


5.丘比特De女神

  • 丘比龍是丘比特的弟弟,由于吃了太多的甜甜圈導致他飛不動了驰坊!
    沒錯 里面隱藏了一張女神的照片
    flag是照片文件的md5值(小寫)
    記住加上flag{}

將丘比特圖片命名為5.gif
使用binwalk分解一下匾二。
從上到下依次為完好的gif圖片(6.gif)。
丘比特圖片(5.gif)拳芙。
完整的zip包察藐。(a.zip)

binwalk運行結果.png

ctf中壓縮包隱寫總結

可以看出,這是一個損壞的壓縮包舟扎,打開010編輯器分飞,把壓縮包文件頭或者文件尾補全。
ctf中圖片隱藏文件分離方法總結
常見文件頭睹限,文件尾

50 4Bzip文件尾.png

發(fā)現(xiàn)這里有個love???.png
gif的文件尾.png

003B之前是gif文件譬猫,之后是zip包,但是我們沒有看到zip的文件頭邦泄,將6C 6F 76 65到文件末尾抓取到一個新的文件里面删窒。并將6C 6F 76 65改為50 4B 03 04。保存為zip文件顺囊。


image.png

image.png

flag{a6caad3aaafa11b6d5ed583bef4d8a54}


密碼學

1.easy
bmN0Znt0aGlzX2lzX2Jhc2U2NF9lbmNvZGV9
nctf{this_is_base64_encode}


2.KeyBoard

ytfvbhn tgbgy hjuygbn yhnmki tgvhn uygbnjm uygbn yhnijm
a        r       e       u      h     a      c    k           

3.based64全家桶

import base64
print base64.b16decode(base64.b32decode(base64.b64decode('R1pDVE1NWlhHUTNETU4yQ0dZWkRNTUpYR00zREtNWldHTTJES1JSV0dJM0RDTlpUR1kyVEdNWlRHSTJVTU5SUkdaQ1RNTkJWSVkzREVOUlJHNFpUTU5KVEdFWlRNTjJF')))

nctf{base64_base32_and_base16}


4.n次based64

import base64
s='Vm0wd2QyUXlVWGxWV0d4V1YwZDRWMVl3WkRSWFJteFZVMjA1VjAxV2JETlhhMk0xVmpKS1NHVkVRbUZXVmxsM1ZtcEJlRll5U2tWVWJHaG9UVlZ3VlZacVFtRlRNbEpJVm10a1dHSkdjSEJXYTFwaFpWWmFkRTFVVWxSTmF6RTFWa2QwYzJGc1NuUmhSemxWVmpOT00xcFZXbUZrUjA1R1drWlNUbUpGY0VwV2JURXdZVEZrU0ZOclpHcFNWR3hoV1d4U1IyUnNXbGRYYlhSWFRWaENSbFpYZUhkV01ERkZVbFJDVjAxdVVuWldha3BIVmpGT2RWVnNXbWhsYlhob1ZtMXdUMkl5UmtkalJtUllZbGhTV0ZSV2FFTlNiRnBZWlVoa1YwMUVSa1pWYkZKRFZqSkdjbUV6YUZaaGExcG9WakJhVDJOdFJrZFhiV2hzWWxob2IxWnRNWGRVTVZWNVVtdGtWMWRIYUZsWmJGWmhZMVphZEdONlJteFNiSEJaV2xWb2ExWXdNVVZTYTFwV1lrWktSRlpxU2tabFZsSlpZVVprVTFKV2NIbFdWRUpoVkRKT2MyTkZhR3BTYkVwVVZteG9RMWRzV25KWGJHUmFWakZHTkZaSGRHdFdiVXBIVjJ4U1dtSkhhRlJXTUZwVFZqRmtkRkp0ZUZkaVZrbzFWbXBLTkZReFdsaFRiRnBxVWxkU1lWUlZXbmRsYkZweFVtMUdUMkpGV2xwWlZWcHJWVEZLVjJOSWJGZFdSVXBvVmtSS1QyUkdTbkphUm1ocFZqTm9WVmRXVWs5Uk1XUkhWMjVTVGxaRlNsaFVWbVEwVjBaYVdHUkhkRmhTTUhCSlZsZDRjMWR0U2toaFJsSlhUVVp3VkZacVNrZFNiRkp6Vlcxc1UwMHhSalpXYWtvd1ZURlZlRmR1U2s1WFJYQnhWVzB4YjFZeFVsaE9WemxzWWtad2VGVnRNVWRVTWtwR1YyeHdXbFpXY0hKV1ZFWkxWMVpHY21KR1pHbFhSVXBKVm10U1MxVXhXWGhXYmxaV1lsaENWRmxyVm5kV1ZscDBaVWM1VWsxWFVucFdNV2h2VjBkS1JrNVdVbFZXTTJoSVZHdGFjMk5zWkhSa1IyaHBVbGhCZDFkV1ZtOVVNVnAwVTJ4V1YyRXhTbUZhVjNSaFYwWndSbFpZYUZkTlZrcDVWR3hhVDJGV1NuUlBWRTVYVFc1b1dGbHFTa1psUm1SWldrVTFWMVpzY0ZWWFZsSkhaREZrUjJKSVRtaFNlbXhQVkZaYWQyVkdWblJsU0dScFVqQndWMVl5ZEhkV01ERnhVbXRvVjFaRldreFdNVnBIWTIxS1IxcEdaRTVOUlhCS1ZtMTBVMU14VlhoWFdHaGhVMFphVmxscldrdGpSbHB4VkcwNWEySkhVbnBYYTFKVFYyeFpkMkpFVWxkTmFsWlVWa2Q0WVZKc1RuTmhSbkJZVTBWS1NWWnFRbUZXYlZaWVZXdG9hMUp0YUZSWmJGcExVMnhrVjFadFJtcE5WMUl3Vld4b2MyRkdTbGRUYlVaaFZqTlNhRmxWV25OT2JFcHpXa2R3YVZORlNrbFdiR040WXpGVmQwMUliR2hTYlhoWVdXeG9RMVJHVW5KYVJWcHNVbTFTZWxsVldsTmhSVEZ6VTI1b1YxWjZSVEJhUkVaclVqSktTVlJ0YUZObGJYaFFWa1phWVdReVZrZFdibEpPVmxkU1YxUlhkSGRXTVd4eVZXMUdXRkl3VmpSWk1HaExWMnhhV0ZWclpHRldWMUpRVldwS1MxSXlSa2hoUlRWWFltdEtNbFp0TVRCVk1VMTRWVzVTVjJKSFVsVlpiWFIzWWpGV2NWTnRPVmRTYlhoYVdUQmFhMkV3TVZkalJteGhWbGROTVZaWGMzaGpNVTUxWTBaa1RtRnNXbFZXYTJRMFV6RktjMXBJVmxSaVJscFlXV3RhZG1Wc1drZFdiVVphVmpGS1IxUnNXbUZWUmxsNVlVaENWbUpIYUVSVWJYaHJWbFpHZEZKdGNFNVdNVWwzVmxkNGIyTXlSa2RUYkdSVVlsVmFWbFp1Y0Zka2JGcHlWMjFHYWxacmNEQmFSV1F3VlRKRmVsRllaRmhpUmxwb1dWUktSMVl4VG5OYVIyaE9UV3hLV1ZkWGVHOVJNVTE0WTBaYVdHRXpRbk5WYlRGVFpXeHNWbGRzVG1oV2EzQXhWVmMxYjFZeFdYcGhTRXBYVmtWYWVsWnFSbGRqTVdSellVZG9UazFWY0RKV2JHTjRUa2RSZVZaclpGZGlSMUp2Vlc1d2MySXhVbGRYYm1Sc1ZteHNOVlJzYUd0V01rcEhZa1JhV2xaV1NsQldNakZHWlZaV2NscEhSbGRXTVVwUlZsUkNWazVXV1hsU2EyaG9VbFJXV0ZsdGRFdE5iRnAwVFZSQ1ZrMVZNVFJXVnpWVFZqSktTRlZzV2xwaVdGSXpXV3BHVjJOV1RuUlBWbVJUWWxob1lWZFVRbUZoTVZwelUyNU9hbEp0ZUZaV2JGcExVMFphV0dNemFGaFNiRnA1V1ZWYWExUnRSbk5YYkZaWFlUSlJNRmxVUms5U01WcDFWR3hvYVZKc2NGbFhWM1JoWkRGa1YxZHJhR3hTTUZwaFZtcEdTMUl4VW5OWGJVWldVbXhzTlZsVldsTldNa1Y0VjJ0MFZWWnNjSEpaZWtaaFpFVTVWMVpyTlZkaWEwWXpWbXhqZDAxV1RYaFZXR2hZWW1zMVZWbHNWbUZXYkZwMFpVaGtUazFXY0hsV01qRkhZV3hhY21ORVJsaGhNWEJRVmtkNFlXTnRUa1ZYYkdST1lteEtlVmRZY0VkV2JWWlhWRzVXVkdKRk5XOVpXSEJYVjFaa1YxVnJaR3ROYTFwSVdXdGFiMkZ0Vm5KWGJHaFZWbTFTVkZZeWVHdGpiRnBWVW14b1UyRXpRbUZXVm1NeFlqRlplRmRxV2xKWFIyaFhWbXRXWVdWc1duRlNiWFJyVm14S01GVnRlRTloUjFaelYyeGtWMkpIVGpSVWEyUlNaVlphY2xwR1pGaFNNMmg1Vmxkd1ExbFhUa2RXYmxKc1UwZFNjMWxyV2xkT1ZsSnpXWHBXVjAxRVJsaFphMUpoVjJ4YVYyTklXbGROYm1ob1ZtcEdZV05XVm5OYVJUVlhZbXRLU2xZeGFIZFNNVmw1VkZoc1UyRXlhSEJWYlhNeFkwWnNWVkZ1WkU1aVJuQXdXbFZqTldFd01WWk5WRkpYWWtkb2RsWXdXbXRUUjBaSFlVWndhVmRIYUc5V2JURTBZekpPYzFwSVZtRlNNMEpVV1d0YWQwNUdXbGhOVkVKT1VteHNORll5TlZOV2JVcElaVWRvVm1KSFVsUlZNRnBoWTFaT2NscEZPV2xTV0VJMlZtdGtORmxXVlhsVGExcFlWMGhDV0Zac1duZFNNVkY0VjJ0T1ZtSkZTbFpVVlZGM1VGRTlQUT09'
while 1:
    s=base64.b64decode(s)
    print s

flag:nctf{please_use_python_to_decode_base64}


5.騷年來一發(fā)嗎
密文:iEJqak3pjIaZ0NzLiITLwWTqzqGAtW2oyOTq1A3pzqas
加密函數(shù)

<?php   
function encode($str){  
    $_o=strrev($str);  //strrev反轉(zhuǎn)字符串
    for($_0=0;$_0<strlen($_o);$_0++){  
        $_c=substr($_o,$_0,1);  
        $__=ord($_c)+1; //返回字符串 string 第一個字符的 ASCII 碼值肌索。
        $_c=chr($__);  //返回相對應于 ascii 所指定的單個字符。
        $_=$_.$_c;  
    }  
    return str_rot13(strrev(base64_encode($_)));  
}  
?>

substr函數(shù)
strrev函數(shù)
str_rot13函數(shù)

寫解密函數(shù)

<?php
function decode($str)
{  
    $str=base64_decode(strrev(str_rot13($str)));
    $_o=strrev($str);  
    for($_0=0;$_0<strlen($_o);$_0++)
    {  
        $_c=substr($_o,$_0,1);  
        $__=ord($_c)-1;  
        $_c=chr($__);  
        $_=$_.$_c;  
    }  
    return $_;  
}  
$string='iEJqak3pjIaZ0NzLiITLwWTqzqGAtW2oyOTq1A3pzqas';  
echo decode($string);
?>

nctf{rot13_and_base64_and_strrev}


6.mixed_base64

mixed_base64.png

import random
from base64 import *
result={
        '16':lambda x:b16encode(x),
        '32':lambda x:b32encode(x),
        '64':lambda x:b64encode(x),
        }
flag=b"nctf{************}"
for i in range(10):
    a=random.choice(['16','32','64'])
    flag=result[a](flag)
with open("code.txt","wb")as f:
    f.write(flag)

lambda匿名函數(shù)
從based64,32,16隨機選一個特碳,反復加密十次诚亚。

from base64 import *
import itertools
s=open('mixed_based64.txt','r').read()
result={
    '16':lambda x:b16decode(x),
    '32':lambda x:b32decode(x),
    '64':lambda x:b64decode(x)
    }
for i_1 in ['16','32','64']:
    for i_2 in ['16','32','64']:
        for i_3 in ['16','32','64']:
            for i_4 in ['16','32','64']:
                for i_5 in ['16','32','64']:
                    for i_6 in ['16','32','64']:
                        for i_7 in ['16','32','64']:
                            for i_8 in ['16','32','64']:
                                for i_9 in ['16','32','64']:
                                    for i_10 in ['16','32','64']:
                                        try:
                                            print result[i_10](result[i_9](result[i_8](result[i_7](result[i_6](result[i_5](result[i_4](result[i_3](result[i_2](result[i_1](s))))))))))
                                        except:
                                            continue

python2跑一下nctf{random_mixed_base64_encode}


7.異性相吸
按照提示跑一下

ens=open('encode.txt','r').read()#密文
des=open('decode.txt','r').read()#明文
for i in range(len(des)):
    print chr(ord(des[i])^ord(ens[i]))

nctf{xor_xor_xor_biubiubiu}


8.MD5

import hashlib   
for i in range(32,127):
    for j in range(32,127):
        for k in range(32,127):
            m=hashlib.md5()
            m.update('TASC'+chr(i)+'O3RJMV'+chr(j)+'WDJKX'+chr(k)+'ZM')
            des=m.hexdigest()
            if 'e9032' in des and 'da' in des and '911513' in des:
                print des

nctf{e9032994dabac08080091151380478a2}


9.Vigenere
放一個別人大佬跑的

#include <stdio.h>
#define KEY_LENGTH 2 // Can be anything from 1 to 13

main(){
  unsigned char ch;
  FILE *fpIn, *fpOut;
  int i;
  unsigned char key[KEY_LENGTH] = {0x00, 0x00};
  /* of course, I did not use the all-0s key to encrypt */

  fpIn = fopen("ptext.txt", "r");
  fpOut = fopen("ctext.txt", "w");

  i=0;
  while (fscanf(fpIn, "%c", &ch) != EOF) {
    /* avoid encrypting newline characters */  
    /* In a "real-world" implementation of the Vigenere cipher, 
       every ASCII character in the plaintext would be encrypted.
       However, I want to avoid encrypting newlines here because 
       it makes recovering the plaintext slightly more difficult... */
    /* ...and my goal is not to create "production-quality" code =) */
    if (ch!='\n') {
      fprintf(fpOut, "%02X", ch ^ key[i % KEY_LENGTH]); // ^ is logical XOR    
      i++;
      }
    }
 
  fclose(fpIn);
  fclose(fpOut);
  return;
} 
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市午乓,隨后出現(xiàn)的幾起案子站宗,更是在濱河造成了極大的恐慌,老刑警劉巖益愈,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梢灭,死亡現(xiàn)場離奇詭異夷家,居然都是意外死亡,警方通過查閱死者的電腦和手機敏释,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門库快,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人钥顽,你說我怎么就攤上這事义屏。” “怎么了蜂大?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵闽铐,是天一觀的道長。 經(jīng)常有香客問我奶浦,道長兄墅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任财喳,我火速辦了婚禮察迟,結果婚禮上,老公的妹妹穿的比我還像新娘耳高。我一直安慰自己扎瓶,他們只是感情好,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布泌枪。 她就那樣靜靜地躺著概荷,像睡著了一般。 火紅的嫁衣襯著肌膚如雪碌燕。 梳的紋絲不亂的頭發(fā)上误证,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機與錄音修壕,去河邊找鬼愈捅。 笑死,一個胖子當著我的面吹牛慈鸠,可吹牛的內(nèi)容都是我干的蓝谨。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼青团,長吁一口氣:“原來是場噩夢啊……” “哼譬巫!你這毒婦竟也來了?” 一聲冷哼從身側響起督笆,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎娃肿,沒想到半個月后咕缎,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體珠十,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡凭豪,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年墅诡,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片桐智。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡说庭,死狀恐怖然磷,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情刊驴,我是刑警寧澤姿搜,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站捆憎,受9級特大地震影響舅柜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜躲惰,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一致份、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧础拨,春花似錦氮块、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至塔沃,卻和暖如春蝠引,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背芳悲。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工立肘, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人名扛。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓谅年,卻偏偏與公主長得像,于是被迫代替她去往敵國和親肮韧。 傳聞我的和親對象是個殘疾皇子融蹂,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內(nèi)容

  • 取證類題目 在CTF中旺订,取證賽題包括了文件分析、隱寫超燃、內(nèi)存鏡像分析和流量抓包分析区拳。任何要求檢查一個靜態(tài)數(shù)據(jù)文件(與...
    查無此人asdasd閱讀 1,331評論 0 2
  • 第一題 柵欄密碼 五欄解密成功得到flag 第二題 一張圖片 很明顯是摩斯電碼拉長了,修改圖片高度得到摩斯電碼 摩...
    Sund4y閱讀 4,367評論 0 2
  • The person I'm closest to in my family is definitely my ...
    Victoriaplus閱讀 374評論 0 1
  • 作為一個在三里屯上班的普通青年笆凌,雖然坐擁各地美食,可是中午有限的時間士葫,想要用來吃一頓豐盛的午宴乞而,也是不太夠的。 理...
    帕克兒閱讀 414評論 0 0
  • 數(shù)據(jù)源類型 文件系統(tǒng)中的不同文件格式數(shù)據(jù)源:支持文件系統(tǒng)包括NFS,HDFS,Amazon S3,支持的文件格式包...
    Spike_3154閱讀 2,766評論 0 3