CTF writeup 0_IDF实验室
牛刀小試
1.被改錯(cuò)的密碼
從前有一個(gè)熊孩子入侵了一個(gè)網(wǎng)站的數(shù)據(jù)庫,找到了管理員密碼,手一抖在數(shù)據(jù)庫中修改了一下,現(xiàn)在的密碼變成了 cca9cc444e64c8116a30la00559c042b4,那個(gè)熊孩子其實(shí)就是我!腫么辦求解!在線等,挺急的。。
PS:答案格式wctf{管理員原密碼}
剛開始猜是Base46或者M(jìn)D5,二話不說解碼走起,結(jié)果都是亂碼…(囧rz).仔細(xì)看了一下,描述中有”手一抖在數(shù)據(jù)庫中修改了一下”,又?jǐn)?shù)了一下發(fā)現(xiàn)有33位,而MD5是32位…既然很有可能是MD5,16進(jìn)制數(shù)最大為f,那么說明密文中的l多余了,刪之再次解密得明文,加上wctf{XXXX},提交,OK~flag不知道為什么又被加密了:)
2.啥?
誰能告訴我這是啥?答案又是啥。。
圖片隱寫,保存下來用notepad什么的打開圖片就能發(fā)現(xiàn):”沒錯(cuò),答案就是wctf{XXXX}”..flag不知道為什么又被加密了:)
3.ASCII碼而已
\u5927\u5bb6\u597d\uff0c\u6211\u662f\u0040\u65e0\u6240\u4e0d\u80fd\u7684\u9b42\u5927\u4eba\uff01\u8bdd\u8bf4\u5fae\u535a\u7c89\u4e1d\u8fc7\u767e\u771f\u7684\u597d\u96be\u3002\u3002\u0077\u0063\u0074\u0066\u007b\u006d\u006f\u0072\u0065\u006d\u006f\u0072\u0065\u005f\u0077\u0065\u0069\u0062\u006f\u005f\u0066\u0061\u006e\u0073\u007d
\uxxxx…這不是Unicode碼么..直接解碼,可得:”大家好,我是@無所不能的魂大人!話說微博粉絲過百真的好難。。wctf{XXXX}”…flag不知道為什么又被加密了:)
4.摩斯密碼
嘀嗒嘀嗒嘀嗒嘀嗒 時(shí)針?biāo)煌T谵D(zhuǎn)動(dòng)
– — .-. … .
嘀嗒嘀嗒嘀嗒嘀嗒 小雨它拍打著水花
-.-. — -.. .
PS:答案格式wctf{你所知道的}
提示已經(jīng)不能再明顯了,解摩爾斯電碼可得:”XXXX”…flag不知道為什么又被加密了:)
5.聰明的小羊
一只小羊跳過了柵欄,兩只小樣跳過了柵欄,一坨小羊跳過了柵欄…
tn c0afsiwal kes,hwit1r g,npt ttessfu}ua u hmqik e {m, n huiouosarwCniibecesnren.
密碼題,題目中有柵欄,很明顯是柵欄加密,沒說層數(shù),那就只好暴力破解.而密文中含有大量空格,自己在擼腳本的時(shí)候要注意一下.用某些網(wǎng)站解的時(shí)候會(huì)出現(xiàn)錯(cuò)誤的結(jié)果,原因就是沒處理好空格,如果非得用某網(wǎng)站解的話那么此時(shí)空格都換成”?”也可以解出來.解密之,得到:”the?anwser?is?wctf{XXXX},if?u?is?a?big?new,u?can?help?us?think?more?question,tks.”…flag不知道為什么又被加密了:)
注:某網(wǎng)站為:http://heartsnote.com/tools/cipher.htm
包羅萬象
1.圖片里的英語
一恒河沙中有三千世界,一張圖里也可以有很多東西。
不多說了,答案是這個(gè)圖片包含的那句英文的所有單詞的首字母。
首字母中的首字母要大寫,答案格式是wctf{一坨首字母}
加油吧少年!看好你哦~
圖片隱寫.用notepad打開,沒發(fā)現(xiàn)什么明顯的信息.搜了一下”jpg”
,發(fā)現(xiàn):
嘿嘿嘿,看來是圖種,直接用壓縮軟件打開,可以發(fā)現(xiàn):
這不就是笑傲江湖嘛.作為星戰(zhàn)迷,趙叔玩了一次星戰(zhàn)梗我還記得呢.然后再次一番嘗試后,還是沒找到什么有價(jià)值的線索,卡了挺久…再看了一下題目,”這個(gè)圖片包含的那句英文的所有單詞的首字母”,猜測(cè)會(huì)不會(huì)是臺(tái)詞,又想到那個(gè)梗,猜是”May the force be with you”,結(jié)果還真是..這題出的..喜歡看電影原來也有奇用啊[doge_face]..所以flag就是…
2.抓到一只蒼蠅
報(bào)告首長(zhǎng)!發(fā)現(xiàn)一只蒼蠅。。
在哪?
here!
臥槽?!好大一坨蒼蠅。。
文件地址: http://pan.baidu.com/s/1bnGWbqJ
提取碼:oe6w
PS:flag寫錯(cuò)了,太麻煩也懶得改了,格式還是wctf{…},大家明白就好,不要在意這些細(xì)節(jié)。。
還沒下呢,發(fā)現(xiàn)是.pcapng的文件..嗨呀,wireshark還不太會(huì)用,默默跳過…
初探乾坤
1.簡(jiǎn)單編程-字符統(tǒng)計(jì)
這里這里 → http://ctf.idf.cn/game/pro/37
編程題,寫個(gè)python跑就好啦~~代碼如下(python2.7 注意我使用的庫哦~):
# -X- coding: utf8 -X- import requests import res = requests.Session() url = 'http://ctf.idf.cn/game/pro/37/' c = s.get(url).contenthtml=''.join(c.split()) reg = r'<hr/>(.+)<hr/>' im = re.compile(reg) imlist = re.findall(im,html)string='' for i in ['w','o','l','d','y']:string=string+str(imlist[0].count(i)) print stringpayload = {'anwser':string} r = s.post(url, data=payload)print r.content搞定:”你看起來好厲害的樣子。。好吧,答案就是wctf{XXXX}”..flag不知道為什么又被加密了:)
2.誰是臥底
武林中某知名殺手在一次任務(wù)中失敗,然后逃竄到了人群中,當(dāng)時(shí)那個(gè)社會(huì)并沒有我們現(xiàn)在這么發(fā)達(dá),滿地都是文盲,而這些文盲甚至連一句完整的英文都說不出來,所以其實(shí)只要用心去發(fā)現(xiàn),就會(huì)很容易發(fā)現(xiàn)這個(gè)稍微有些文化的殺手是誰哦~答案wctf{殺手的英文名}
人群→ http://pan.baidu.com/s/1bnq6nmR
密碼: 988u
5.32 MB的txt…用notepad打開,統(tǒng)計(jì)顯示一共5586640個(gè)字符,0行,說明這是一個(gè)很長(zhǎng)的字符串.題目中”而這些文盲甚至連一句完整的英文都說不出來,所以其實(shí)只要用心去發(fā)現(xiàn),就會(huì)很容易發(fā)現(xiàn)這個(gè)稍微有些文化的殺手是誰哦”.”一句完整的英語”顯然是關(guān)鍵,所以這題的目的就是讓我們?cè)谶@一個(gè)長(zhǎng)字符串中尋找一句完整的英語.作為一枚Ctfer(雖然很菜),哪有這么老實(shí),觀察到文件名有”woldy”這個(gè)詞,先搜一下看看會(huì)不會(huì)直接定到目標(biāo)語句,結(jié)果”woldy”有50個(gè),”flag”有121個(gè),”key”有316個(gè)…其他的關(guān)鍵詞也是幾十+的結(jié)果…看來只能老老實(shí)實(shí)做了.又看了一下文本,這個(gè)文本是單詞摻雜在[a-z]字符里的.一句完整的英語顯然是好幾個(gè)完整的單詞連一起的.所以,我們可以分割這個(gè)大字符串,先從每份200個(gè)開始嘗試,漸漸縮小每份的大小,這樣擁有這個(gè)句子的一份肯定(其實(shí)也不是絕對(duì),但幾率是很大的,而且每份長(zhǎng)度越小,幾率就越大)是完整單詞最多的.最多有多少個(gè)呢?我猜的多一點(diǎn),30個(gè).隨著每份長(zhǎng)度增加,猜測(cè)的個(gè)數(shù)也要多些,這樣更準(zhǔn)確.那么怎么判斷一個(gè)字符串是不是單詞呢?可以利用常見單詞2000個(gè)做字典,用python跑一下.以上是思路,下面是完整代碼(python2.7):
fp=open("whoiswoldy.txt",'r') s=fp.read() for e in range(200,5586640,200):#每份字符串長(zhǎng)度為200l=0f = open("dic.txt")while 1:line = ''.join(f.readline().split())if line in s[e-200:e]:l=l+1if line=='scenery':#這是字典里的最后一個(gè)單詞breakf.close()if l>30:print e-200,"->",e,l,s[e-200:e]結(jié)果如下
“what will you see if you throw the butter out the window”.英語謎語,搜之.So,答案就是wctf{謎底}…flag不知道為什么又被加密了:)
3.Fuck your brain
這是什么,你能理解它嗎?
++++++++++++[>++++>+++++>++++++>+++++++>++++++++>+++++++++>++++++++++<<<<<<<-]>>>>+++.<—–.>—.<+++.>>>>+++.<<<<—-.>>>++++++.<<<<<+++.–.>>>>>—-.<<<++++.<<+++.>>>>+++.>—.>++.
這么風(fēng)騷的代碼,明顯是brainfuck.隨便找個(gè)解釋器,解之可得:”wctf{XXXX}”…flag不知道為什么又被加密了:)
倒行逆施
逆向不太會(huì)…GG
攻無不破
…GG
百密一疏
1.凱撒加密
大概就是這樣吧,不能告訴你再多U8Y]:8KdJHTXRI>XU#?!K_ecJH]kJGXbRH7YJH7YSH]X=93dVZ3^S8X$:8"&:9U]RH;g=8Y!U92'=jX$KH]ZSj&[S#!gU#XdK9\.這么明顯的提示.沒說移動(dòng)的個(gè)數(shù),寫個(gè)腳本爆破就行.但是要注意,普通的凱撒密碼字符只在[A-Z]中,密文里卻有非英文字母,所以寫的時(shí)候要把非英文字母一起移位(ascii碼).爆破的結(jié)果如下:
刺眼的”=”..base64解之:”the flag is wctf{XXXX},plz flow my weibo,http://weibo.com/woldy“…flag不知道為什么又被加密了:)
2.特殊的日子
每個(gè)人的一生中都會(huì)或多或少有那么幾個(gè)對(duì)自己很重要的日子,比如對(duì)于我來說,這一天就很重要。
答案格式wctf{日期} //友情提示,此題需要暴力破解,但只是爆破這段密文,不是爆破這個(gè)網(wǎng)站。。 = =!
就是這一天↓
4D1FAE0B
總覺得線索不夠,默默點(diǎn)了提示:crc32.好吧…
題目說是時(shí)間,看來明文就是某個(gè)時(shí)間啦.所以只要遍歷某n年的日期,經(jīng)過crc32加密后要是和密文相等就是明文啦~寫個(gè)python爆破一下咯(python2.7):
所以flag就為:wctf{XXXX}…flag不知道為什么又被加密了:)
3.偉人的名字
從前有個(gè)很厲害的人物演講了一堆很厲害的東西,可是我讀書少,認(rèn)識(shí)人不多,你知道這個(gè)人叫啥不。。
答案格式wctf{名字}
友情提示1、外國人,只要名字就可以了,就別要姓了,首字母大寫。
友情提示2、說過我讀書少,外國人的名字和姓我是分不清的,反正答案就是大家最常叫的那個(gè)。。
以下就是這個(gè)人講話的節(jié)選:
EB BMQF KYJRD, IM ICHZZZ YWELXABD, ICCH PVLQ EB PGJS, UEZW PAGE RDS IGJOW QQQNHQO ZU BOTOSNS RD CFU YCFUQA. VGJQP RDWD AKIYWPU HDQ TZXLZSO, AONK CSYHPWHTRL CQ YISCLAWBD FWG ECAB VSIAZQCZ ER CWGH PSDWGICYB PC LRO YDRECYDJ ZZBYHHJ. PVP ENOGHQ CQ WKIYJ WAPUGYOYV SVZ YJGHHPAR WFA NDJH ER OSCYGYS VSNFZXLZ EKC UWRZA.
YRU HSH PFFPNAH VSIAZQQ ID YCOTQ - YRR OD Y QLOJ HZ ZAOC YNAD, PVZXED LUKO HH JSPG; BZW WG D YOWO PC EYPHWH, HSRSCV HKXOEWJAR ZC OCH - MXR O FYHZ WM PPDP HSH XICGCJ ZI W WRLC EZGHWRKR GEUSCUWH, MPDP WY YJR BCWF RSP, “PAXZLAEBR GJ SRNA, SYPWPQR WY RNWMXJWHTRL” - Y GEUSCUWH WULLLOH WFA NRKICY CJSXLCO ZI IOY: PMCDLJM, NKJPURU, GGOSLVC, LQB KLU EHDHJB.
NDL KP DKFRH WULLLOH WFAGP CJSXLCO L ENOYG WBO EHCMDJ OWOGWBNH, BZURD LQB GZXRD, HYOH DLZ HHQP, WFWH FYJ LVQQFP Y AZUC TCXGPTFO HWQH BCC YHZ PYJYTQB? HLJH JRS XZLL WY RDOE FEGERPEQ HDBCCW?
EB WFA WRLC SLQPCCB KT WFA HRPHR, MJZJ Y TPZ CSYHPWHTRLO SDTA MHCJ RUYJHPG PVP PKZP MB OHDABOLLC QUCARZP EB LRO SRSN ZI IOILKQA GYJUPU. W GM BZW OVLQI TCRK HSLQ FPVNKBDLZEZTWW - L SSWFMIS LR. T BK YRR PPOGAJP RDOE YJM RD ID UKIWG ALNKYJUP NHONHQ KTWF OYB KHSHP DPRNHS RP OYB KHSHP UPQCNOELMJ. WFA PQCNUJ, PVP DWWEK, HSH ZSGRRECY UDWNK SS EPEBR RK EKGO PQBAOGRSN HLJH WLEDH RSN NRSJHCB WBO YHZ ZFK DHPRS LR – YJR WFA ROMS QUMI EKYP QLPA NDL HCXJU WLEDH WFA HRPHR.
DLZ DR, AJ DAZWRU OXHPEQLQQ: LVI BZW SVLW UCFU YCFQRNM FYJ OR BCC WKI - WGV UDOE WKI FYJ OR BCC WKIC AKIYWPU.
XB BSWOMS NLRENPQQ CQ RDS ZMNZO: WGV LKH ZFWH DKAFTFY KTOJ RZ DKF BMQ, ESP HKYP EREAHSHP KP AWB GM TZU PVP DNSPGMI ZI IOY.
DEBLOJU, ZFAHSHP MZX WFP AEHTCCJG RD OXHPEQL MN NLRENPQQ CQ RDS ZMNZO, WGV MB FV PVP QWAP FEUS QPOYGYNRD MB DWPABRWF OYG OONUGBWNH SVTFF KP YOY RD MZX. KTWF O JMKR FMJGNLCJQP MQF RLHM VSNS UCSOCG, KTWF VTVRKFJ RDS IGJOW HQRRH KT RSN OHCZG, JAH XQ UZ DKFEK PC OCWR WFA WDLZ HH HCGH, ODNGJU KGO MOCOGTQE OYG DWD FAZA, XIE IJCHLLC EKYP SHPA ZQ AOCWF UZG’O HRPG XXQP EUSHM EC CFU KKY.
剛開始想到的是凱撒加密,跑了一下沒解出來.這么少的信息,估計(jì)就是維吉尼亞加密…那么問題來了,加密用的字符串不知道,它的長(zhǎng)度也不知道…只能通過詞頻分析做了…英語文章中最常見的單詞就屬”the”了,先看看3個(gè)單詞的字符串分布吧
# -*- coding: cp936 -*- import re article='''EB BMQF KYJRD, IM ICHZZZ YWELXABD, ICCH PVLQ EB PGJS, UEZW PAGE RDS IGJOW QQQNHQO ZU BOTOSNS RD CFU YCFUQA. VGJQP RDWD AKIYWPU HDQ TZXLZSO, AONK CSYHPWHTRL CQ YISCLAWBD FWG ECAB VSIAZQCZ ER CWGH PSDWGICYB PC LRO YDRECYDJ ZZBYHHJ. PVP ENOGHQ CQ WKIYJ WAPUGYOYV SVZ YJGHHPAR WFA NDJH ER OSCYGYS VSNFZXLZ EKC UWRZA. YRU HSH PFFPNAH VSIAZQQ ID YCOTQ - YRR OD Y QLOJ HZ ZAOC YNAD, PVZXED LUKO HH JSPG; BZW WG D YOWO PC EYPHWH, HSRSCV HKXOEWJAR ZC OCH - MXR O FYHZ WM PPDP HSH XICGCJ ZI W WRLC EZGHWRKR GEUSCUWH, MPDP WY YJR BCWF RSP, "PAXZLAEBR GJ SRNA, SYPWPQR WY RNWMXJWHTRL" - Y GEUSCUWH WULLLOH WFA NRKICY CJSXLCO ZI IOY: PMCDLJM, NKJPURU, GGOSLVC, LQB KLU EHDHJB. NDL KP DKFRH WULLLOH WFAGP CJSXLCO L ENOYG WBO EHCMDJ OWOGWBNH, BZURD LQB GZXRD, HYOH DLZ HHQP, WFWH FYJ LVQQFP Y AZUC TCXGPTFO HWQH BCC YHZ PYJYTQB? HLJH JRS XZLL WY RDOE FEGERPEQ HDBCCW? EB WFA WRLC SLQPCCB KT WFA HRPHR, MJZJ Y TPZ CSYHPWHTRLO SDTA MHCJ RUYJHPG PVP PKZP MB OHDABOLLC QUCARZP EB LRO SRSN ZI IOILKQA GYJUPU. W GM BZW OVLQI TCRK HSLQ FPVNKBDLZEZTWW - L SSWFMIS LR. T BK YRR PPOGAJP RDOE YJM RD ID UKIWG ALNKYJUP NHONHQ KTWF OYB KHSHP DPRNHS RP OYB KHSHP UPQCNOELMJ. WFA PQCNUJ, PVP DWWEK, HSH ZSGRRECY UDWNK SS EPEBR RK EKGO PQBAOGRSN HLJH WLEDH RSN NRSJHCB WBO YHZ ZFK DHPRS LR -- YJR WFA ROMS QUMI EKYP QLPA NDL HCXJU WLEDH WFA HRPHR. DLZ DR, AJ DAZWRU OXHPEQLQQ: LVI BZW SVLW UCFU YCFQRNM FYJ OR BCC WKI - WGV UDOE WKI FYJ OR BCC WKIC AKIYWPU. XB BSWOMS NLRENPQQ CQ RDS ZMNZO: WGV LKH ZFWH DKAFTFY KTOJ RZ DKF BMQ, ESP HKYP EREAHSHP KP AWB GM TZU PVP DNSPGMI ZI IOY. DEBLOJU, ZFAHSHP MZX WFP AEHTCCJG RD OXHPEQL MN NLRENPQQ CQ RDS ZMNZO, WGV MB FV PVP QWAP FEUS QPOYGYNRD MB DWPABRWF OYG OONUGBWNH SVTFF KP YOY RD MZX. KTWF O JMKR FMJGNLCJQP MQF RLHM VSNS UCSOCG, KTWF VTVRKFJ RDS IGJOW HQRRH KT RSN OHCZG, JAH XQ UZ DKFEK PC OCWR WFA WDLZ HH HCGH, ODNGJU KGO MOCOGTQE OYG DWD FAZA, XIE IJCHLLC EKYP SHPA ZQ AOCWF UZG'O HRPG XXQP EUSHM EC CFU KKY.'''pattern = re.compile(r'[^A-Za-z]+')#利用非字母字符拆分單詞 words = re.split(pattern,article)#統(tǒng)計(jì)單詞出現(xiàn)的次數(shù) word_dic = {} for word in words:word_dic.setdefault(word,0)word_dic[word] += 1#根據(jù)出現(xiàn)的次數(shù)進(jìn)行排序 s_word_dic= sorted(word_dic.items(), key=lambda e:e[1],reverse=True) print [i for i in s_word_dic if len(i[0])==3]結(jié)果是
先取頻率高的這3個(gè),看看它們對(duì)于”the”分別偏移多少
# -*- coding: cp936 -*- import itertools a=['WFA','PVP', 'RDS'] b=['T','H','E'] rn=rl=[] for i in a:c=[]for j in range(3):c=c+[ord(i[j])-ord(b[j])]if c[-1]<0:c[-1]=c[-1]+26c=sorted(c,reverse=True)rn=rn+cprint c#每個(gè)字符串對(duì)于"the"的偏移量print sorted(list(set(rn)),reverse=True)#去重+排序for i in sorted(list(set(rn)),reverse=True):rl=rl+[chr(i+ord('a'))]#每個(gè)偏移量轉(zhuǎn)成對(duì)應(yīng)的字母 print rl''' for i in list(itertools.permutations(rl,len(rl))):#排列組合print ''.join(list(i))'''結(jié)果為
黃色那行是上面3行的合并
橙色那行是上一行的字母結(jié)果
ywold…換一下就是woldy…這個(gè)網(wǎng)站的作者…不知道對(duì)不對(duì),試一試看看
# -*- coding: cp936 -*- article = '''EB BMQF KYJRD, IM ICHZZZ YWELXABD, ICCH PVLQ EB PGJS, UEZW PAGE RDS IGJOW QQQNHQO ZU BOTOSNS RD CFU YCFUQA. VGJQP RDWD AKIYWPU HDQ TZXLZSO, AONK CSYHPWHTRL CQ YISCLAWBD FWG ECAB VSIAZQCZ ER CWGH PSDWGICYB PC LRO YDRECYDJ ZZBYHHJ. PVP ENOGHQ CQ WKIYJ WAPUGYOYV SVZ YJGHHPAR WFA NDJH ER OSCYGYS VSNFZXLZ EKC UWRZA. YRU HSH PFFPNAH VSIAZQQ ID YCOTQ - YRR OD Y QLOJ HZ ZAOC YNAD, PVZXED LUKO HH JSPG; BZW WG D YOWO PC EYPHWH, HSRSCV HKXOEWJAR ZC OCH - MXR O FYHZ WM PPDP HSH XICGCJ ZI W WRLC EZGHWRKR GEUSCUWH, MPDP WY YJR BCWF RSP, "PAXZLAEBR GJ SRNA, SYPWPQR WY RNWMXJWHTRL" - Y GEUSCUWH WULLLOH WFA NRKICY CJSXLCO ZI IOY: PMCDLJM, NKJPURU, GGOSLVC, LQB KLU EHDHJB. NDL KP DKFRH WULLLOH WFAGP CJSXLCO L ENOYG WBO EHCMDJ OWOGWBNH, BZURD LQB GZXRD, HYOH DLZ HHQP, WFWH FYJ LVQQFP Y AZUC TCXGPTFO HWQH BCC YHZ PYJYTQB? HLJH JRS XZLL WY RDOE FEGERPEQ HDBCCW? EB WFA WRLC SLQPCCB KT WFA HRPHR, MJZJ Y TPZ CSYHPWHTRLO SDTA MHCJ RUYJHPG PVP PKZP MB OHDABOLLC QUCARZP EB LRO SRSN ZI IOILKQA GYJUPU. W GM BZW OVLQI TCRK HSLQ FPVNKBDLZEZTWW - L SSWFMIS LR. T BK YRR PPOGAJP RDOE YJM RD ID UKIWG ALNKYJUP NHONHQ KTWF OYB KHSHP DPRNHS RP OYB KHSHP UPQCNOELMJ. WFA PQCNUJ, PVP DWWEK, HSH ZSGRRECY UDWNK SS EPEBR RK EKGO PQBAOGRSN HLJH WLEDH RSN NRSJHCB WBO YHZ ZFK DHPRS LR -- YJR WFA ROMS QUMI EKYP QLPA NDL HCXJU WLEDH WFA HRPHR. DLZ DR, AJ DAZWRU OXHPEQLQQ: LVI BZW SVLW UCFU YCFQRNM FYJ OR BCC WKI - WGV UDOE WKI FYJ OR BCC WKIC AKIYWPU. XB BSWOMS NLRENPQQ CQ RDS ZMNZO: WGV LKH ZFWH DKAFTFY KTOJ RZ DKF BMQ, ESP HKYP EREAHSHP KP AWB GM TZU PVP DNSPGMI ZI IOY. DEBLOJU, ZFAHSHP MZX WFP AEHTCCJG RD OXHPEQL MN NLRENPQQ CQ RDS ZMNZO, WGV MB FV PVP QWAP FEUS QPOYGYNRD MB DWPABRWF OYG OONUGBWNH SVTFF KP YOY RD MZX. KTWF O JMKR FMJGNLCJQP MQF RLHM VSNS UCSOCG, KTWF VTVRKFJ RDS IGJOW HQRRH KT RSN OHCZG, JAH XQ UZ DKFEK PC OCWR WFA WDLZ HH HCGH, ODNGJU KGO MOCOGTQE OYG DWD FAZA, XIE IJCHLLC EKYP SHPA ZQ AOCWF UZG'O HRPG XXQP EUSHM EC CFU KKY. '''art='' key='WOLDY' l=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] for i in range(len(article)):content=article[i]if content.isalpha():j=i%5r=ord(content)-(ord(key[j])-ord('A'))if r<65:r+=26art+=chr(r)else:art+=content print art看得出來key是對(duì)的.不過下面卻是亂碼..這鍋我不背…估計(jì)是密文空格多了或者少了…嘗試在沒解密成功的每段前加入空格
每個(gè)箭頭處都加了2個(gè)空格,最終….
(其實(shí)就解出那么1 2句也是可以搜到的,沒必要都解出來~)
搜之,美國總統(tǒng)John F. Kennedy的就職演說
所以flag就是…..你猜
4.笨笨的小豬
豬圈密碼~網(wǎng)上搜一下每個(gè)圖案對(duì)應(yīng)的明文就行了~
所以flag是:wctf{XXXX}…flag不知道為什么又被加密了:)
5.孔子的學(xué)費(fèi)
子曰:“自行束修以上,吾未嘗無誨焉。”
ABAAAABABBABAAAABABAAABAAAAAABAAAAAAAABAABBBAABBAB
看題目,”子曰:“自行束修以上,吾未嘗無誨焉。””.什么意思呢?只要人家能送我十條肉干兒做見面禮,我不會(huì)拒絕收留他做學(xué)生的.結(jié)合密文的形式很容易想到是培根加密~解之得:XXXX,所以flag就是wctf{XXXX}…flag不知道為什么又被加密了:)
萬里尋蹤
1.圖片里的秘密
圖片隱寫.首先用notepad打開,沒找到什么有用的消息.默默掏出Stegsolve,也沒發(fā)現(xiàn)有用的線索…默默掏出firework,打開發(fā)現(xiàn)
如果我們拉動(dòng)圖片的話也是可以看見后面flag
搞定.所以flag就是wctf{XXXX}…flag不知道為什么又被加密了:)
2.上帝也哭泣
上帝也哭泣
一個(gè)word,打開內(nèi)容為:
我即將閉上我的眼睛
此刻一片黑暗看不清楚
不知道是誰在身邊哭泣
是誰輕言在嘆息
此刻我感覺好像是上帝在哭泣
我雖然已經(jīng)離你遠(yuǎn)去
只是心里還是放不下你
因?yàn)槟侨碎g已變得無情
連那六月也會(huì)下雪
原諒我永遠(yuǎn)不能再給你春天
哦!這樣的世界
太陽何時(shí)出現(xiàn)
看了上帝也都會(huì)留下眼淚
因?yàn)榻艿男木褪悄愕男?
問你是否真的能了解
連上帝他也都在哭泣
為何人們不愿付出真情意
問我的世界為何在下雪
太陽何時(shí)才能再出現(xiàn)
連上帝他也都在哭泣
為何這個(gè)世界
充滿
噗噗噗….實(shí)在沒有找到啥線索…最后看了一下別人的writeup,是用了word的文字隱藏功能.步驟在這~(啊對(duì)了,我用的是word2010~)
這樣每行后面就會(huì)多出一個(gè)字符,連起來就行啦~所以flag就是wctf{XXXX}…flag不知道為什么又被加密了:)
3.任務(wù)管理器中的秘密
聽說一些大牛們光聽CPU和硬盤響動(dòng)的聲音就知道電腦在干啥。。但是像我這種菜鳥只能從任務(wù)管理器里面去找,可是我讀書又少,看了半天沒看明白,求知道這任務(wù)管理器里面藏了個(gè)啥。。
PS:此題已改,之前的的題目有些欠妥,現(xiàn)在可以讀算法了。
不會(huì)做…GG
4.紅與黑
默默掏出notepad,沒發(fā)現(xiàn)什么.默默掏出Stegsolve,在red plane 1發(fā)現(xiàn)了flag~
秘制打碼~
天羅地網(wǎng)
1.不難不易的js加密
就是這里 → http://ctf.idf.cn/game/web/28
打開發(fā)現(xiàn)
js還不太熟悉,先放著占坑~
2.COOKIE欺騙
這里這里→ http://ctf.idf.cn/game/web/40/index.php
打開網(wǎng)頁,一堆字符串,嘗試了base64,無解.按照題目意思也不會(huì)這么簡(jiǎn)單…cookie欺騙~默默掏出burp suite.
改為true,Go~
結(jié)果依然是長(zhǎng)字符串….
認(rèn)真看了一下url,發(fā)現(xiàn)line參數(shù)是空的,而且file參數(shù)是個(gè)base64密文.解密可得:
flag.txt
所以我們可以試試讀取index.php看可不可以.注意前面flag.txt是經(jīng)過base64加密的,所以index.php也得加密,為:aW5kZXgucGhw.然后line就從0-n提交一下看看會(huì)出現(xiàn)啥.line==0的時(shí)候:
看來有戲!繼續(xù)提交就可以獲得全部的代碼:
<?php error_reporting(0); $file=base64_decode(isset($_GET['file'])?$_GET['file']:""); $line=isset($_GET['line'])?intval($_GET['line']):0; if($file=='') header("location:index.php?line=&file=ZmxhZy50eHQ"); $file_list = array( '0' =>'flag.txt', '1' =>'index.php', ); if(isset($_COOKIE['key']) && $_COOKIE['key']=='idf'){ $file_list[2]='flag.php'; } if(in_array($file, $file_list)){ $fa = file($file); echo $fa[$line]; } ?>所以代碼的意思就是,把cookie里的”key”的鍵值置為”idf”,將file參數(shù)置為”ZmxhZy5waHA=”(flag.php的base64密文),訪問就行了.結(jié)果如下:
秘制打碼~
3.古老的郵件編碼
MR,O)^KNYU>;*Q[*[P_?#Q+"AHZS6Q\G,LKNYNZ.LR;;2LK*[N^&CK+/VN/;, MXK:\TJJ]RKZAQ-36K:&CH:,*M/.XQ;3PL+B^S<K'U>+1^;#)=V-T9GMU=75U *=65N8V]D95]??0``郵件編碼,搜之,發(fā)現(xiàn)一個(gè)介紹
(http://www.263.zj.cn/email-code/)
搜一下UUencode的解碼解一下就行了:
(http://web.chacuo.net/charsetuuencode)
秘制打碼~
4.超簡(jiǎn)單的js題
這里這里→ http://ctf.idf.cn/game/web/42/index.php
又是js題..js不太會(huì),還是隨便看了一下源代碼,發(fā)現(xiàn)挺簡(jiǎn)單的
<script> var p1 = '%66%75%6e%63%74%69%6f%6e%20%63%68%65%63%6b%53%75%62%6d%69%74%28%29%7b%76%61%72%20%61%3d%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%42%79%49%64%28%22%70%61%73%73%77%6f%72%64%22%29%3b%69%66%28%22%75%6e%64%65%66%69%6e%65%64%22%21%3d%74%79%70%65%6f%66%20%61%29%7b%69%66%28%22%37'; var p2 = '%61%34%64%39%31%63%33%36%32%32%63%32%31%32%65%34%64%65%33%38%63%65%37%35%64%39%35%64%31%66%22%3d%3d%61%2e%76%61%6c%75%65%29%72%65%74%75%72%6e%21%30%3b%61%6c%65%72%74%28%22%45%72%72%6f%72%22%29%3b%61%2e%66%6f%63%75%73%28%29%3b%72%65%74%75%72%6e%21%31%7d%7d%64%6f%63%75%6d%65%6e%74%2e%67%65%74%45%6c%65%6d%65%6e%74%42%79%49%64%28%22%6c%65%76%65%6c%51%75%65%73%74%22%29%2e%6f%6e%73%75%62%6d%69%74%3d%63%68%65%63%6b%53%75%62%6d%69%74%3b'; eval(unescape(p1) + unescape('%36' + p2)); </script>代碼的意思就是,p1經(jīng)過unescape(),加上p2在頭部補(bǔ)上’%36’后經(jīng)過的unescape(),最后把這個(gè)值輸出來.結(jié)果為
function checkSubmit(){var a=document.getElementById("password");if("undefined"!=typeof a){if("76a4d91c3622c212e4de38ce75d95d1f"==a.value)return!0;alert("Error");a.focus();return!1}}document.getElementById("levelQuest").onsubmit=checkSubmit;在原來的輸入框提交”76a4d91c3622c212e4de38ce75d95d1f”就行啦~~所以flag就是wctf{XXXX}…flag不知道為什么又被加密了:)
5.簡(jiǎn)單的js解密
這里這里→ http://ctf.idf.cn/game/web/43/index.php
又是js題…按代碼的意思應(yīng)該是給出了密文和加密算法,要我們寫出解密算法來解明文.js不太會(huì),跳~
6.你關(guān)注最新的漏洞嗎
每個(gè)人都會(huì)夢(mèng)想手頭有一把0day,不過0day可遇不可求,我們還是關(guān)注最新的漏洞吧:http://pan.baidu.com/s/1hqf5YZE
答案格式:wctf{*}
這個(gè)題目下載下來是一個(gè)wireshark的包,wireshark不太會(huì),留著以后填坑~~跳
7.一種編碼而已
[][([+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+![+!![]]+(!![]+[])[!![]+!![]+!![]]+(!![]+[])[+[]]+({}[[]]+[])[+[]]+(!![]+[])[+!![]]+({}[[]]+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]+!![]+!![]]+(![]+[])[!![]+!![]]+({}+[])[+!![]]+({}+[])[!![]+!![]+!![]+!![]+!![]]+(![]+[])[+!![]]+(!![]+[])[+[]]+({}[[]]+[])[!![]+!![]+!![]+!![]+!![]]+({}+[])[+!![]]+({}[[]]+[])[+!![]])())[!![]+!![]+!![]]+(!![]+[])[!![]+!![]+!![]])()(({}+[])[+[]])[+[]]+(!![]+!![]+!![]+!![]+!![]+!![]+!![]+[])+({}[[]]+[])[!![]+!![]])
這么風(fēng)騷…默默打開console 窗口,復(fù)制粘貼,運(yùn)行,得出flag.
編碼介紹(http://www.freebuf.com/sectool/5352.html)
結(jié)束
第一次寫writeup,好緊張…有不足之處還請(qǐng)多多指教~
總結(jié)
以上是生活随笔為你收集整理的CTF writeup 0_IDF实验室的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 刘新华老师-沪师经纪
- 下一篇: Spring Cloud:统一异常处理