BUUOJ
- Misc
- 喵喵喵
- 弱口令
- [安洵杯 2019]easy misc
- [XMAN2018排位賽]通行證
- 蜘蛛俠呀
- [RCTF2019]draw
- [MRCTF2020]Hello_ misc
- [MRCTF2020]Unravel!!
- [BSidesSF2019]zippy
- [UTCTF2020]basic-forensics
- 粽子的來歷
Misc
喵喵喵
下載的得到一個圖片
首先右鍵查看屬性、用winhex打開沒發現隱藏的資訊,然后用StegSlove打開,在最低位通道發現,很可能是LSB隱寫

選項如下時,發現隱寫了一個png檔案
匯出之后發現檔案頭多了一些東西,刪去后發現是半個二維碼

解析度是280 * 140,所以改成280 * 280,png圖片的寬高修改還是比較方便的,把右邊的資料改成和左邊一致

發現這個二維碼的顏色不對勁,把黑白反色(借助StegSlove)后掃碼得到一個網盤地址:https://pan.baidu.com/s/1pLT2J4f,下載之后得到flag.rar,里面有一個flag.txt,打開即被調戲
這個題是比賽原題,當時有一個hint是NTFS,buuoj中沒有給出
掃描發現flag.txt中隱藏了一個pyc檔案,匯出,放到pyc在線反編譯網站

得到一個加密腳本
#!/usr/bin/env python
# visit http://tool.lu/pyc/ for more information
import base64
def encode():
flag = '*************'
ciphertext = []
for i in range(len(flag)):
s = chr(i ^ ord(flag[i]))
if i % 2 == 0:
s = ord(s) + 10
else:
s = ord(s) - 10
ciphertext.append(str(s))
return ciphertext[::-1]
ciphertext = [
'96',
'65',
'93',
'123',
'91',
'97',
'22',
'93',
'70',
'102',
'94',
'132',
'46',
'112',
'64',
'97',
'88',
'80',
'82',
'137',
'90',
'109',
'99',
'112']
分析一下寫個解密腳本就跑出flag了
弱口令
壓縮包是加密的,注釋資訊處有線索

復制到記事本里,用notepad++打開,猜想是摩斯密碼

把tab換成- 空格換成.
得到.... . .-.. .-.. ----- ..-. --- .-. ..- --,在線解密得到壓縮包密碼HELL0FORUM
壓縮包里有一個圖片,用Stegsolve打開發現lsb隱寫痕跡,Data Extract功能沒有結果,結合題目描述和題目名,可以推斷是以弱口令為密碼的lsb隱寫
D:\lsb隱寫>python2 lsb.py extract C:\Users\17422\Desktop\女神.png flag.txt 123456
[+] Image size: 500x500 pixels.
[+] Written extracted data to flag.txt.
得到flag
[安洵杯 2019]easy misc
下載附件得到檔案夾read、加密的壓縮包和一張圖片,先看壓縮包

給了解壓密碼的提示,那個算式算出來結果是7,所以提示:FLAG IN 7+NNULLULL,,開始以為IN后面的就是密碼,結果不是,幾經測驗后發現密碼是七個數字+NNULLULL,的形式,于是掩碼爆破

打開得到的decode.txt給出了解密的規則:
a = dIW
b = sSD
c = adE
d = jVf
e = QW8
f = SA=
g = jBt
h = 5RE
i = tRQ
j = SPA
k = 8DS
l = XiE
m = S8S
n = MkF
o = T9p
p = PS5
q = E/S
r = -sd
s = SQW
t = obW
u = /WS
v = SD9
w = cw=
x = ASD
y = FTa
z = AE7
再結合檔案夾給出的大量文本,可以知道考察的是字頻隱寫,給出的圖片,使用foremost分離出兩張看似一模一樣的圖片,很明顯是盲水印,解出資訊提示字頻隱寫在11.txt(我的py2出了點問題不能演示了),
再加上檔案夾中有一個hint.txt
hint:取前16個字符
所以分析11.txt中最高頻的前十六個字母,附上腳本
f=open("11.txt","r")
d={}
s=""
for line in f.readlines():
line=line.lower().replace(" ","")
for i in line:
if 'a'<=i<='z':
d[i]=d.get(i,0)+1
d1=sorted(d.items(), key = lambda kv:(kv[1], kv[0]),reverse=True)
for j in range(16):
print(d1[j][0],end="")
f.close()
得到這十六個字母etaonrhsidluygw,按照規則替換得到QW8obWdIWT9pMkFSQWtRQjVfXiE/WSFTajBtcw==,base64解密得到Ao(mgHY?i2ARAkQB5_^!?Y!Sj0ms,base85解密得到flag{have_a_good_day1}
[XMAN2018排位賽]通行證
下載得到一個txt,內容是
a2FuYmJyZ2doamx7emJfX19ffXZ0bGFsbg==
這里用CyberChef,先base64解密一次,然后再柵欄加密一次(key=7)

最后就是凱撒解碼,把前面的xman換成flag即可

蜘蛛俠呀
得到一個流量包,用wireshark打開,沒發現什么
用tshark命令看一下
tshark -r out.pcap -T fields -e data > 1.txt
打開1.txt,發現大量十六進制數值,且有重復的

寫腳本去重,再把每一行的十六進制轉字符,

寫腳本去除多余字符,剩下的像是base64編碼,寫腳本
import base64
f = open("3.txt","rb").read()
f1 = open("x","wb")
f1.write(base64.b64decode(f))
得到的是一個zip檔案,打開得到一個gif,這里是gif幀數間隔隱寫

把20換成0、50換成1,得到011011010100010000110101010111110011000101110100
轉為十六進制后再轉字符,然后md5加密,最后得到flag{f0f1003afe4ae8ce4aa8e8487a8ab3b6}
[RCTF2019]draw
給了一些看不太懂的東西,結合題目名,應該是要畫出來
cs pu lt 90 fd 500 rt 90 pd fd 100 rt 90 repeat 18[fd 5 rt 10] lt 135 fd 50 lt 135 pu bk 100 pd setcolor pick [ red orange yellow green blue violet ] repeat 18[fd 5 rt 10] rt 90 fd 60 rt 90 bk 30 rt 90 fd 60 pu lt 90 fd 100 pd rt 90 fd 50 bk 50 setcolor pick [ red orange yellow green blue violet ] lt 90 fd 50 rt 90 fd 50 pu fd 50 pd fd 25 bk 50 fd 25 rt 90 fd 50 pu setcolor pick [ red orange yellow green blue violet ] fd 100 rt 90 fd 30 rt 45 pd fd 50 bk 50 rt 90 fd 50 bk 100 fd 50 rt 45 pu fd 50 lt 90 pd fd 50 bk 50 rt 90 setcolor pick [ red orange yellow green blue violet ] fd 50 pu lt 90 fd 100 pd fd 50 rt 90 fd 25 bk 25 lt 90 bk 25 rt 90 fd 25 setcolor pick [ red orange yellow green blue violet ] pu fd 25 lt 90 bk 30 pd rt 90 fd 25 pu fd 25 lt 90 pd fd 50 bk 25 rt 90 fd 25 lt 90 fd 25 bk 50 pu bk 100 lt 90 setcolor pick [ red orange yellow green blue violet ] fd 100 pd rt 90 arc 360 20 pu rt 90 fd 50 pd arc 360 15 pu fd 15 setcolor pick [ red orange yellow green blue violet ] lt 90 pd bk 50 lt 90 fd 25 pu home bk 100 lt 90 fd 100 pd arc 360 20 pu home
后面百度了一波,得知這個是logo語言,可以參考這個貼子
直接到這個在線網站運行即可

所以 flag{RCTF_HeyLogo}
[MRCTF2020]Hello_ misc
用Stegsolve打開圖片,在紅色通道隱寫了東西

save bin保存為png圖片,給了zip壓縮包的密碼!@#$%67*()-+,題目給的是rar,所以還需要找出這個zip

直接foremost,提取出zip,用密碼解密,得到的out.txt中由幾種數字組成

把這些數字分別轉為八位的二進制,發現后面六位都是1,只有前兩位有區別,寫腳本把所有組的前兩位連起來,再轉字符,
f = open("out.txt","r")
flag=y=x=""
for line in f.readlines():
x = bin(int(line))[2:].zfill(8)
y += x[:2]
f.close()
for i in range(len(y)//8):
flag += chr(int(y[i*8:(i+1)*8],2))
print(flag)
得到rar的密碼 rar-passwd:0ac1fe6b77be5dbe,得到的新zip很明顯是一個doc檔案,改后綴為doc
最下面有一些透明字,把顏色改深就可以看到

得到的這些像是base64編碼,分別解碼得到一串二進制

這里不能這樣看,把結果平均分為六行,再把1替換成空格就能看到flag

flag{He1Lo_mi5c~}
[MRCTF2020]Unravel!!
拿到三個檔案

先看一下wav,檔案名提示讓看一下檔案的尾部,所以用010打開看一下

U2F開頭,很明顯是AES了,需要秘鑰,在這個檔案里找了一下沒找見
再去看一下那個圖片,直接binwalk一把梭,拿到一個圖片,內容就是前面需要的秘鑰: Tokyo
解得key=CCGandGulu

拿得到的key去解壓壓縮包,得到一個wav檔案,這里是比較坑的,沒找到提示,嘗試了一遍發現要用SilentEye

[BSidesSF2019]zippy
流量包,wireshark打開分析,追蹤TCP流時發現線索

直接binwalk分離出壓縮包,密碼是:supercomplexpassword,解壓拿到flag
[UTCTF2020]basic-forensics
下載的jpg打不開,拖進winhex里看一下,發現里面都是明文
所以用notepad打開,ctrl+f搜索一下flag、key等關鍵字
然后找到了utflag{fil3_ext3nsi0ns_4r3nt_r34l}
粽子的來歷
曹操的私生子曹小明因為爸爸活著的時候得罪太多人,怕死后被抄家,所以把財富保存在一個誰也不知道的地方,曹小明比較喜歡屈原,于是把地點藏在他的詩中,三千年后,小明破譯了這個密碼,然而卻因為擔心世界因此掀起戰爭又親手封印了這個財富并仿造當年曹小明設下四個可疑檔案,找到小明喜歡的DBAPP標記,重現戰國輝煌,(答案為正確值(不包括數字之間的空格)的小寫32位md5值) 注意:得到的 flag 請包上 flag{} 提交
鬼腦洞題…
下載得到四個doc檔案,都打不開,winhex看一下,注意到這里

新建一個doc檔案,對比一下

所以把紅框位置對應的十六進制全部改成F,就能正常打開了
乍一看,四個檔案的內容好像是一樣的

但是仔細對比會發現行距不一樣

把每一行右鍵→段落,查看行距,把1.5倍行距換成1、單倍行距換成0
ABCD對應的分別是
A 100111100010
B 100100100001
C 100100100001
D 010100100001
挨個測驗,最后正確的是C對應的二進制值轉md5
flag{d473ee3def34bd022f8e5233036b3345}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/282852.html
標籤:其他
