攻防世界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}

 

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