攻防世界MISC—進階區21-30
阿新 • • 發佈:2022-04-17
21.easycap
得到一個pcap檔案,協議分級統計,發現都是TCP協議
直接追蹤tcp流,得到FLAG
22.reverseMe
得到一張鏡面翻轉的flag,放入PS中,影象-影象旋轉-水平翻轉畫布,得到flag
23.stage1
扔進stegsolve中,在green plane 1處發現二維碼
QR掃描得到資料
用010 Editor儲存為pyc檔案,線上反編譯,再儲存為py檔案,執行一下,得到的資料就是flag
(程式碼結尾要自行新增flag())
24.Miscellaneous-200
這是一個繪圖題, 借用了別人的指令碼,稍微修改了一下 from ast import literal_eval from PIL import Image f = open('flag.txt', 'r') corl = [literal_eval(line) for line in f.readlines()] f.close() img = Image.new('RGB', (270, 270), '#ffffff') k=0 for i in range(246): for j in range(246): img.putpixel ([i , j], corl[k]) k=k+1 img.save("flag.png")
得到flag
25.Hear-with-your-Eyes
無後綴檔案,010檢視也沒有找到明顯的十六進位制位元組提示,於是嘗試改為zip,成功,開啟,又得到一個無後綴檔案,且010開啟後發現有sound.wav,直接匯入Audacity
檢視頻譜圖(點選左側的倒三角,選擇頻譜圖)
得到flag
26.Hidden-Message
得到pcap檔案,開啟,檢視分級協議,均為UDP
看info這列,可以看出只有後兩位在變且像二進位制資料
提取出來,二進位制轉換沒有成功,看了一下WP,得知需要轉換01的順序
import numbers number = '10110111100110101001011010001100100110101001000110011101100110101000110110011000' number1 = number.replace("1","A") number2 = number1.replace("0","B") print(number2) number3 = number2.replace("A","0") number4 = number3.replace("B","1") print(number4)
二進位制轉字串,得到flag
27.Recover-Deleted-File
開啟後需要解壓兩次,最後得到disk-image這個檔案,使用extundelete恢復磁碟內容
extundelete參考內容:https://blog.csdn.net/a1779078902/article/details/84657816
執行後得到RECOVERED_FILES資料夾,開啟后里面有一個flag檔案
用kali的root使用者執行,剛開始許可權可能會報錯,可以先執行一下這條命令:
chmog a+x 檔名
然後再執行 ./flag
得到flag
28.What-is-this
得到檔案無後綴,新增zip字尾,解壓兩次,得到兩張jpg
根據經驗,用stegsolve合成一下,得到flag
29.red_green
參考了一下網上的WP,得知是要用指令碼對圖片中的紅綠兩種顏色進行識別,然後轉化為01,最後繪圖
貼上大佬的指令碼
from PIL import Image
import os
import bitstring
image_name = '1.png'
current_path = os.path.dirname(__file__)
im = Image.open(os.path.join(current_path,image_name))
image_width = im.size[0]
image_height = im.size[1]
# load pixel
pim = im.load()
bin_result = ''
for row in range(image_height):
for col in range(image_width):
if pim[col,row][0] == 255:
bin_result += '1'
else:
bin_result += '0'
with open(os.path.join(current_path,'result.jpg'),'wb') as f:
f.write(bitstring.BitArray(bin=bin_result).bytes)
匯出的圖片上面就是flag
30.base64÷4**
得到一串編碼,根據題目提示,64 / 4 = 16;,直接線上base16解碼,得到flag