BJDCTF-writeup

本篇文章爲個人做題時的部分wp,如有錯誤,請聯繫我更正。

雜項

最簡單的misc-y1ng

題目是一個zip包,嘗試解壓出錯,用AZR壓縮包修復工具修復後,解壓得到一個secret文件,由於沒有後綴名,放入010editor查看,發現含有IHDR
在這裏插入圖片描述
可能是缺少文件頭,加上png的文件頭89504E47後成功打開圖片。發現424A44…等一列數字,猜測是十六進制,在線網站解密得到flag。附上網站:十六進制轉文本

A_Beautiful_Picture

題目是一個圖片,直接打開打不開(我用的linux系統),放到Windows下面可以打開。由此可推斷是圖片寬高錯誤,可根據CRC爆破寬高。附上Python腳本

import zlib
import struct

filename = 'test.png'
with open(filename, 'rb') as f:
    all_b = f.read()
    crc32key = int(all_b[29:33].hex(),16)
    data = bytearray(all_b[12:29])
    n = 4095            #理論上0xffffffff,但考慮到屏幕實際/cpu,0x0fff就差不多了
    for w in range(n):          #高和寬一起爆破
        width = bytearray(struct.pack('>i', w))     #q爲8字節,i爲4字節,h爲2字節
        for h in range(n):
            height = bytearray(struct.pack('>i', h))
            for x in range(4):
                data[x+4] = width[x]
                data[x+8] = height[x]
            crc32result = zlib.crc32(data)
            if crc32result == crc32key:
                print("寬爲:",end="")
                print(width)
                print("高爲:",end="")
                print(height)
                exit(0)
                

根據跑出來的結果更改寬高
在這裏插入圖片描述
在這裏插入圖片描述
此時就可正常打開圖片,發現flag
在這裏插入圖片描述

這個考點技巧就是圖片在linux下不能打開(打開一片空白),在Windows上可正常打開。

小姐姐-y1ng

這題很奇怪,其實很簡單,但好多人沒寫出來,當時我也剛開始沒寫出來,就是因爲大家都把它想複雜化了。圖片放到十六進制編輯器搜索BJD(因爲這次比賽名稱是BJDCTF)即可找到flag
在這裏插入圖片描述

EasyBaBa

題目是一個圖片,但卻有19m,那一定是裏面藏東西了。使用binwalk查看確實有東西,用foremost分離得到zip文件解壓後是名字爲裏面都是出題人的jpg圖片。一看大小39m,信他個鬼,肯定不是圖片。放到十六進制編輯器發現文件頭爲RIFF後面又是AVI,更改後綴爲.avi
在這裏插入圖片描述
得到一個視頻文件,打開發現在第四秒左右有大量畫面閃過,很可疑,用ae打開一幀一幀的查看發現多個二維碼。掃描的結果是十六進制,轉文本拼接後即可得到flag。但是有的二維碼死活掃不上,只能截圖用ps加深了下顏色才掃描成功。
在這裏插入圖片描述

我也是問了一朋友才發現用ae等大型軟件看那個二維碼會更清楚點,推薦使用ae或pr。

聖火昭昭-y1ng

這題剛開始沒做出來,後來官方說出題人給的key出錯了,才做出來。

在備註上發現新佛曰,在線解密新約佛論禪得到gemlovecom,官方後來說去掉com,即爲gemlove。在這裏插入圖片描述
根據gemlove猜測是某種加密,題目描述爲:開局一張圖,flag全靠,猜加重了,猜測是outguess加密。解密得flag。
在這裏插入圖片描述

其實這題當時我也沒想到是outguess加密,但加密的就是那幾個,outguess,f5…這種試一下就出來了。

TARGZ-y1ng

題目是一個tar文件。題目描述爲:哎? 我的tar zxvf怎麼不好使了?解壓密碼不需要爆破。猜測文件並不是tar文件。放到十六進制編輯器發現文件頭是504B0304,這是zip文件頭,也可用file命令發現這是一個zip文件。
在這裏插入圖片描述
改後綴名爲zip,根據題目描述不需要密碼,再看文件名很奇怪,嘗試用文件名解密成功解密,但這題沒有那麼簡單。後面解密都是用文件名解密,且解密得到的都是tar文件,需要更改後綴再解密。連續解密幾次發現規律,應該得用腳本跑。
這裏附上自己寫的腳本(水平較菜,僅供參考)

import zipfile
import os

name = 'hW1ES89jF'
tmp="" #解壓過的文件
while True:
    fz = zipfile.ZipFile(name + '.tar.gz', 'r')
    fz.extractall(pwd=bytes(name, 'utf-8'))
    tmp=name+".tar.gz"
    os.remove(tmp)
    name = fz.filelist[0].filename[0:9]
    fz.close(

最後會報錯(爲了適應多種情況不加判斷了),出現flag文件

Real_EasyBaBa

題目是一個圖片,binwalk下發現含有zip的結尾,但沒有zip頭
在這裏插入圖片描述
這裏就推薦下010editor,裏面的模板能直接看到圖片結構
在這裏插入圖片描述
可以看到504BFFFF,將這以及以後的代碼另存爲一個zip文件並修改頭爲504B0304,解壓後發現一個類似二維碼的文檔
在這裏插入圖片描述
看到有人博客寫的是把#號變成1空格變成0,但其實當時我用qq就直接掃出來了,掃描結果是od -vtx1 ./draw.png | head -56 | tail -28,將draw.png替換爲ezbb_r.jpg發現這個東西
在這裏插入圖片描述
當時我就是卡到這了,後來看別人的wp發現我們把ff高亮就會發現這就是flag。emm,腦洞很好,可惜我沒想出來。
在這裏插入圖片描述

總結

總的來說這次雜項題目挺適合我們這種新手,但web題直接勸退,還是自己太菜,一起加油吧!

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