Miscmisc
用010editor打開圖片,然後看到jpg圖片,把後綴修改成zip
有個壓縮包是加密過的,還有張圖片,我們看看圖片
看到了flag.txt,再次把圖片後綴修改成zip
發現可以解壓,得到一個 flag.txt 文件,咦,,,,,剛纔解壓chayidian.zip文件時,目錄下也有一個flag.txt 文件,很明顯這是一個明文攻擊,又已知
是.zip加密,上工具 Advanced Zip Password Recover。
在這裏我跑出密碼 z$^58a4w
Fial.zip裏面的文件
打開whoami.zip文件,發現有個加密文本,需要密碼,猜想flag就在裏面。
說就差一點點了
打開 world/media/task/writeup/cn/miscmisc/1.png圖片
根據提示 pass in world 猜想 world.doc 文件裏不可能那麼簡單 可能還會有隱藏文字,ctrl+A 全選,右擊—字體—取消勾選隱藏。發現了隱藏字符。
最後的密碼是 pass內容+world裏每行字符串的最後一個字符
解壓後就得到flag{12sad7eaf46a84fe9q4fasf48e6q4f6as4f864q9e48f9q4fa6sf6f48}
flag_universe
數據裏面有一些圖片
複製原始數據存到一個txt文檔中,用010編輯器導入十六進制在存爲png圖片即可
把圖片都dump下來後有一張圖片lsb隱寫,得到flag
Get-the-key.txt
看到txt文件,把後綴修改成zip
我這裏把1解壓出來
又看到了.txt文件,再次把1修改後綴
裏面就是flag了
奇怪的TTL字段
把每個TTL值二進制碼的高兩位拿下來,每4個TTL值湊出一個字節的二進制數來
用腳本實現
with open('ttl.txt') as f:
lines = f.readlines()
n_num = []#分析出所有的數for i in lines:
if i!='\n':
n_num.append(int(i.replace('TTL=','')))#拿到每個TTL值的高位
rlt = ''for i in range(0,len(lines)):
tmp = bin(n_num[i])[2:]
tmp = '0'*(8-len(tmp)) + tmp
rlt += tmp[0:2]#得到最終的結果並存到文件中
rlt2 = ''for i in range(0,len(rlt),8):
rlt2 += chr(int(rlt[i:i+8],2))with open('fi.txt','w') as f:
f.write(rlt2.rstrip())
得到文件
以FFD8開頭,FFD9結束。所以,是jpeg格式的圖片無疑了
把這些16進制字符粘貼到winhex裏並保存爲jpeg格式的圖片,得到了一張殘缺二維碼。於是就搜了下FFD8和FFD9的數量,正好6對
可以用替換搜索,這樣可以計數
接着就是把圖片拆出來了,使用binwalk,會分出6張二維碼圖片,用PPT的插圖和對齊的功能拼接一下,得到一個二維碼
使用autokey解開密文
http://www.practicalcryptography.com/ciphers/classical-era/autokey
flag{2028ab39927df1d96e6a12b03e58002e}
2-1
打開發現圖片損壞了,用010editor打開
發現頭部和寬度都不對
恢復png頭爲 89 50 4e 47 0d 0a 1a 0a
寬度通過pyhton跑出來
import os
import binascii
import struct
misc = open("12.png","rb").read()
for i in range(1024):
data = misc[12:16] + struct.pack('>i',i)+ misc[20:29]
crc32 = binascii.crc32(data) & 0xffffffff
if crc32 == 0x932f8a6b:
print (i)
得到709,十六進制轉換後得到,0x2c5。
互相傷害!!!
從wireshark打開,導出圖片,發現一二維碼,圖片說了AES加密密碼CTF,我們解密出來
668b13e0b0fc0944daf4c223b9831e49
接着發現這張圖有密碼,把後綴改成zip,輸入密碼
掃描裏面的二維碼即可
97d1-0867-2dc1-8926-144c-bc8a-4d4a-3758
我們的祕密是綠色的
我們用oursecret分解出壓縮包,密碼是圖片的綠色的數字
根據提示生日,爆破壓縮包,密碼19950822
發現txt文件和flag.zip壓縮包裏的txt文件CRC32一樣即可用明文爆破
發現裏面有flag.txt,這裏用的是僞加密,在PK處把01修改成00即可
爆破柵欄密碼
爆破凱撒密碼
flag{ssctf_@seclover%coffee_*}
倒立屋
用Stegsolve打開圖片,相應操作,然後第一串就是,根據題目所說是倒寫的
flag{9102_cCsI}
隱藏的信息
首先8進制轉換ascii碼,然後base64轉換即可
Become_a_Rockstar
首先安裝rockstar
pip3 install rockstar-py
然後獲取python代碼。跑一下即可
Leonard_Adleman = "star"
Problem_Makers = 76
Problem_Makers = "NCTF{"
def God(World):
a_boy = "flag"
the_boy = 3
def Evil(your_mind):
a_girl = "no flag"
the_girl = 5
Truths = 3694
Bob = "ar"
Adi_Shamir = "rock"
def Love(Alice, Bob):
Mallory = 13
Mallory = 24
Everything = 114514
Alice = "you"
def Reality(God, Evil):
God = 26
Evil = 235
Ron_Rivest = "nice"
def You_Want_To(Alice, Love, Anything):
You = 5.75428
your_heart = input()
You = 5
your_mind = input()
Nothing = 31
if Truths * Nothing == Everything:
RSA = Ron_Rivest + Adi_Shamir + Leonard_Adleman
if Everything / Nothing == Truths:
Problem_Makers = Problem_Makers + Alice + Bob
print(Problem_Makers)
the_flag = 245
the_confusion = 244
print(RSA)
Mysterious_One = "}"
print(Mysterious_One)
This = 4
This = 35
This = 7
This = 3
This = 3
This = 37
NCTF{youarnicerockstar}
小小的PDF
用binwalk發現還有圖片沒有顯示出來
直接foremost分離出來
Cephalopod
有個flag.png圖片,但是foremost分離不出來,這裏我們用tcpxtract分離
先安裝
apt-get install tcpxtract
Tcpxtract -f
分離出來,flag就出來了
HITB{95700d8aefdc1648b90a92f3a8460a2c}
信號不好先掛了
用stegsolver打開,發現PK頭,於是分離出zip文件
發現一樣的圖片,於是利用盲水印
python bwm.py decode apple.png pen.png apple_pen.png
unctf{9d0649505b702643}
我們用工具Freemake Video Converter慢慢打開,發現兩個二維碼拿去掃描下
黃金六年
我們用工具Freemake Video Converter慢慢打開,發現兩個二維碼拿去掃描下
解密出來
key2:want
key3:play
接着我們用winhex打開發現一串base64加密的字符串
用python跑出壓縮包
import base64a='UmFyIRoHAQAzkrXlCgEFBgAFAQGAgADh7ek5VQIDPLAABKEAIEvsUpGAAwAIZmxhZy50eHQwAQADDx43HyOdLMGWfCE9WEsBZprAJQoBSVlWkJNS9TP5du2kyJ275JzsNo29BnSZCgMC3h+UFV9p1QEfJkBPPR6MrYwXmsMCMz67DN/k5u1NYw9ga53a83/B/t2G9FkG/IITuR+9gIvr/LEdd1ZRAwUEAA=='
f=open('111.rar','wb')
f.write(base64.b64decode(a))
f.close()
根據給出的2和3的key,我們猜測1和4的key爲i、ctf,構成
iwantplayctf
Ditf
把04後面修改成FF
把這張圖片後綴修改成zip,然後用這圖片下方的密碼打開,導出所有的html文件
看到了一串base64加密的字符串
flag{Oz_4nd_Hir0_lov3_For3ver}
4-2
直接在線解密
https://quipqiup.com/
flag{classical-cipher_is_not_security_hs}
5-1
import os
c = open("cipher",'rb').read()
key = "GoodLuckToYou"
def xor(c,k):
keylen = len(k)
res = ""
for pos,c in enumerate(c):
res +=chr(ord(c) ^ ord(k[pos % keylen]))
return res
print xor(c,key)
Low
運行代碼即可獲取二維碼
import PIL.Image as Image
img = Image.open('low.bmp')
img_tmp = img.copy()
pix = img_tmp.load()
width,height = img_tmp.size
for w in range(width):
for h in range(height):
if pix[w,h]&1 == 0:
pix[w,h] = 0
else:
pix[w,h] = 255
img_tmp.show()
flag{139711e8e9ed545e}