攻防世界misc高手進階篇教程(3)

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}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章