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

misc1

轉成十進制後-128(偏移量爲128)

再轉成ascii碼得到flag

import re

s = 'd4e8e1f4a0f7e1f3a0e6e1f3f4a1a0d4e8e5a0e6ece1e7a0e9f3baa0c4c4c3d4c6fbb9e1e6b3e3b9e4b3b7b7e2b6b1e4b2b6b9e2b1b1b3b3b7e6b3b3b0e3b9b3b5e6fd'

num = re.findall('\w{2}' ,s)

flag = ''

for i in num:

   ch = chr(int(i,16)-128)

   flag += ch

print(flag)

Miscellaneous-200

from ast import literal_eval as make_tuple
from PIL import Image
f = open('flag.txt', 'r')
corl = [make_tuple(line) for line in f.readlines()]
f.close()
img0 = Image.new('RGB', (270, 270), '#ffffff')
k=0
for i in range(246):
   for j in range(246):
      img0.putpixel ([i , j], corl[k])
      k=k+1
img0.save("result.png")

flag{ youc@n'tseeme }

Miscellaneous-300

運行代碼,等一定時間,然後會有12475.zip

import zipfile
import re
zipname = "C:\\Users\\19154\\Desktop\\"+"1.zip"
while True:
    if zipname != "C:\\Users\\19154\\Desktop\\73168.zip":
        ts1 = zipfile.ZipFile(zipname)
        #print ts1.namelist()[0]
        res = re.search('[0-9]*',ts1.namelist()[0])
        print res.group()
        passwd = res.group()
        ts1.extractall("C:\\Users\\19154\\Desktop\\",pwd=passwd)
        zipname = "C:\\Users\\19154\\Desktop\\"+ts1.namelist()[0]
    else:
        print "find"

我們爆破密碼b0yzz

給的是音頻文件,猜測是音頻隱寫,於是將文件拖入Audacity中查看頻譜圖得到flag

BallsRealBolls

Py-Py-Py

用stegosaurus直接獲取flag

python3 stegosaurus.py -x 58cadd8d8269455ebc94690fd777c34a.pyc

傳感器1

#!/usr/bin/env python      
#coding:utf-8
import re 
#hex1 = 'AAAAA56A69AA55A95995A569AA95565556' # #  0x8893CA58
hex1 = 'AAAAA56A69AA556A965A5999596AA95656'
def bintohex(s1):
    s2 = ''
    s1 = re.findall('.{4}',s1)
    print ('每一個hex分隔:',s1)
    for i in s1:
        s2 += str(hex(int(i,2))).replace('0x','')
 
    print ('ID:',s2)
def diffmqst(s):
    s1 = ''
    s = re.findall('.{2}',s)
    cc = '01'
    for i in s:
        if i == cc:
            s1 += '0'
        else:
            s1 += '1'
        cc = i  # 差分加上cc = i
    print ('差分曼切斯特解碼:',s1)
    bintohex(s1)
def mqst(s):  #只能算曼切斯特編碼,無法算差分
    mdict = {'5': '00', '6': '01', '9': '10', 'A': '11'}
    a1 = ''.join(mdict[i] for i in s)
    a2 = ''.join(mdict[i][::-1] for i in s)
    print ('曼切斯特解碼:   ',a1 )
    print ('曼切斯特解碼2:  ',a2)
    bintohex(a1)
    bintohex(a2)
if __name__ == '__main__':
    bin1 = bin(int(hex1,16))[2:]
    diffmqst(bin1)
mqst(hex1)

得到差分曼切斯特編碼爲8024d8845abf34119,左邊去掉5個字符,右邊去掉4個字符,換成大寫就是flag。

簽到題

Base64解碼有得到

ggQ@gQ1fqh0ohtjpt_sw{gfhgs#}

凱撒密碼解密得到,14位

ssc@sc1rct0atfvbf_ei{srtse#}

柵欄密碼解密得到flag,7位

ssctf{ssCtf_seC10ver#@rabit}

Excaliflag

放進StegSovle左邊點擊即可

3DS{Gr4b_Only_th1s_B1ts}

Disk

直接提取vmdk文件

提取出來裏面有四個flag文件,但是打開並不是flag

第一塊出來flag字樣,後面拼接放入convert,解出後面字段

flag{4DS_1n_D1sk}

misc_pic_again

發現PK頭,保存位zip文件

用winhex發現hctf

hctf{scxdc3tok3yb0ard4g41n~~~}

3-1

發現python代碼和一串好像加密的字符串,還有flag.zip也導出來

加上這些代碼即可跑出密碼

s='19aaFYsQQKr+hVX6hl2smAUQ5a767TsULEUebWSajEo='

flag=base64.b64decode(s)

print(decrypt(flag))

reverseMe

反轉即可

test.py

首先進行反編譯python文件

發現這是倒序的base64

得到fjU1MmYyNWcyNmcyOTgyYjY4MTc5NWMzZjc0ZzllNzMyfGhibWc=

解碼得到552f25g26g2982b681795c3f74g9e732|hbmg,然後顛倒順序得到gmbh|237e9g47f3c597186b2892g62g52f255

由於hbmg 與 flag的聯繫是ascii差1,於是全部rot(-1),得flag

flag{126d8f36e2b486075a1781f51f41e144}

Avatar

我們直接用outguess分解出來,1.txt文件就是flag

outguess -r 035bfaa85410429495786d8ea6ecd296.jpg 1.txt

Wireshark

導出這個圖片

修改高度

把裏面的圖片都在網站上去解密,然後就得到了一串16進制字符串格式的flag

拿去解密就得到最後的flag了

Saleae

使用Logic軟件打開

flag豎着讀

flag{12071397-19d1-48e6-be8c-784b89a95e07}

intoU

修改採樣率即可

Message

print bin(int(open("msg.txt","r").read(),16))[2:].replace("0",".").replace("1","#")

這個腳本能夠生成.和#的序列。我們把這個序列放到notepad++裏,一直把字體減小到最小,然後重新調整窗口的大小,直到我們能看出一些東西。 最後圖案顯現出來:The flag is RCTF{ArEciBo_mEsSaGe}

 

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