三道MISC的writeup
(1)背時(shí)
描述:腐爛了,變異了,太背時(shí)了......
附件為一個(gè)壓縮包
解題思路:
1.打開壓縮包,發(fā)現(xiàn)有一個(gè)描述:v(51wA:I7uABi#Bx(T

2.將v(51wA:I7uABi#Bx(T進(jìn)行Z85解密為c3npr_@aq_y0ir。
3.加密的lsb隱寫,利用cloacked-pixel工具包,發(fā)現(xiàn)密碼不正確。
4.各種嘗試,將c3npr_@aq_y0ir進(jìn)行rot13編碼為p3ace_@nd_l0ve
5.使用cloacked-pixel解密,1.txt中輸出flag。

cloacked-pixel使用
加密:
python lsb.py hide big.png 1.txt 123456
ps: hide:表示加密模式; big.png:待加密的png圖片; 1.txt:存放payload; 123456:加密的密碼
解密:
python lsb.py extract big.png-stego.png 3.txt 123456
ps: extract:表示解密模式; big.png-stego.png:待解密的png圖片; 3.txt:存放導(dǎo)出的payload; 123456:解密密碼
分析:
python lsb.py analyse big.png-stego.png
ps: analyse:表示分析模式; big.png-stego.png:待分析的png圖片; 運(yùn)行后會(huì)對(duì)圖像進(jìn)行分析,將其分割成塊,標(biāo)記每個(gè)塊的最低有效位
參考原文鏈接:https://blog.csdn.net/m0_54015794/article/details/112285451
(2)EzMisc
描述為好玩的圖片
附件是一個(gè)很大的圖片,上面有好多像素點(diǎn)
解題思路:
1.圖片用photoshop打開,可以看到很清晰的像素點(diǎn)
2.圖片放大之后,記錄左上角和右下角像素點(diǎn)的坐標(biāo)


(5.84x9.13+93.16x56.90)
3.計(jì)算每?jī)蓚€(gè)像素點(diǎn)之間的寬度間隔和高度間隔(1.18x2.27)
4.利用腳本提取像素點(diǎn)
點(diǎn)擊查看代碼
import os
import re
import cv2
import argparse
import itertools
import numpy as np
parser = argparse.ArgumentParser()
parser.add_argument('-f', type=str, default=None, required=True,
help='輸入文件名稱')
parser.add_argument('-p', type=str, default=None, required=True,
help='輸入左上頂點(diǎn)和右下頂點(diǎn)坐標(biāo) (如:220x344+3520x2150)')
parser.add_argument('-n', type=str, default=None, required=True,
help='輸入寬度間隔和高度間隔 (如:44x86)')
args = parser.parse_args()
if __name__ == '__main__':
if re.search(r"^\d{1,}x\d{1,}\+\d{1,}x\d{1,}$", args.p) and re.search(r"^\d{1,}x\d{1,}$", args.n):
x1, y1 = map(lambda x: int(x), args.p.split("+")[0].split("x"))
x2, y2 = map(lambda x: int(x), args.p.split("+")[1].split("x"))
width, height = map(lambda x: int(x), args.n.split("x"))
img_path = os.path.abspath(args.f)
file_name = img_path.split("\\")[-1]
img = cv2.imread(img_path, cv2.IMREAD_COLOR)
row, col = img.shape[:2]
r, c = len(range(y1, y2 + 1, height)), len(range(x1, x2 + 1, width))
new_img = np.zeros(shape=(r, c, 3))
for y, x in itertools.product(range(r), range(c)):
new_img[y, x] = img[y1 + y * height, x1 + x * width]
cv2.imwrite(f"{file_name}", new_img)
print("已保存到運(yùn)行目錄中...")
else:
print("參數(shù)-p或參數(shù)-n, 輸入錯(cuò)誤!")

5.生成的圖片由好多顏色組成,piet編碼在線解碼可得

參考原文鏈接:https://blog.csdn.net/qq_47875210/article/details/128173378?csdn_share_tail={"type"%3A"blog"%2C"rType"%3A"article"%2C"rId"%3A"128173378"%2C"source"%3A"qq_47875210"}
(3)mini
題目描述:一個(gè)迷你文件是不是缺少什么(flag均為小寫)
附件為一個(gè)壓縮包
解題思路:
1.打開壓縮包為一個(gè)沒有后綴名的文件,放入HxD中查看沒有文件頭,27 1C前面添加37 7A BC AF為7Z的文件頭

2.添加文件后綴7Z,解壓得到加密的flag.docx和pw.txt
3.查看pw.txt,可知word密碼為6位,且為純小寫字母

4.直接用kali自帶john獲取docx文檔hash值

然后利用hashcat進(jìn)行破解

-a 3 為暴力破解的掩碼方式,-m 9400為加密文件類型。-h可以獲取幫助查看命令。

當(dāng)狀態(tài)為Cracked,可以通過剛才的命令后面加上--show,來查看密碼,這里為whljwa。
5.打開文件,發(fā)現(xiàn)是base64加密的密文,base64解密并轉(zhuǎn)換為png圖片

6.題目中說,flag全為小寫,全轉(zhuǎn)換為小寫即得flag。
浙公網(wǎng)安備 33010602011771號(hào)