m題目在線評測BUUCTF 是一個 CTF 競賽和訓練平臺,為各位 CTF 選手提供真實賽題在線復現等服務。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一個 CTF 競賽和訓練平臺,為各位 CTF 選手提供真實賽題在線復現等服務。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一個 CTF 競賽和訓練平臺,為各位 CTF 選手提供真實賽題在線復現等服務。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一個 CTF 競賽和訓練平臺,為各位 CTF 選手提供真實賽題在線復現等服務。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一個 CTF 競賽和訓練平臺,為各位 CTF 選手提供真實賽題在線復現等服務。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一個 CTF 競賽和訓練平臺,為各位 CTF 選手提供真實賽題在線復現等服務。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一個 CTF 競賽和訓練平臺,為各位 CTF 選手提供真實賽題在線復現等服務。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一個 CTF 競賽和訓練平臺,為各位 CTF 選手提供真實賽題在線復現等服務。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一個 CTF 競賽和訓練平臺,為各位 CTF 選手提供真實賽題在線復現等服務。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一個 CTF 競賽和訓練平臺,為各位 CTF 選手提供真實賽題在線復現等服務。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5BUUCTF 是一個 CTF 競賽和訓練平臺,為各位 CTF 選手提供真實賽題在線復現等服務。https://buuoj.cn/challenges#%E5%96%B5%E5%96%B5%E5%96%B5下載是一張小貓圖片,嘗試查屬性,文本查看,哈希查看,寬高修改等,沒發現什么異常。
排除法確定這圖應該是一道 隱寫題
使用stegsolve隱寫分析工具進行查看,發現在模式red plane 0、blue plane 0、green plane 0時圖上方有顯示
使用Stegsolve的Data Extract功能,設置如圖所示,查看預覽,可以得知是一張圖片
Stegsolve的Data Extract功能介紹:
Bit Planes(位平面):
????????共有 8 個位平面(Bit Plane 0 —Bit Plane 7)。
????????其中Bit Plane 0(LSB,最低位):對圖像影響最小,通常包含噪聲或隱藏信息;
????????Bit Plane 7(MSB,最高位):包含最主要的視覺信息,決定圖像的大致輪廓。Extract By:
????????選項 Row or Column ?(意為掃描順序,按照‘行’或‘列’進行)
Bit Order:
????????選項MSBFirst 和 LSBFirst (意為字節上的讀取順序。如果設置了MSBFirst則是從高位開始讀取,LSBFirst是從低位開始讀取)
Bit Plane Order:
????????選項為紅綠藍組成的6種讀取順序(意為位平面讀取順序。Alpha一直是最先讀的,然后會根據該項的配置決定讀取順序。)
save bin保存為.png的文件。該文件頭前多了"fffe",可使用010 editor工具將其刪去,保存才能得到真正的圖片。
PNG (png) 文件頭:89504E47
可圖片只顯示了一半的二維碼,嘗試一下修改這個圖片高度,得到完整的二維碼圖片
掃描二維碼得到一個flag.rar文件百度網盤下載鏈接,下載解壓查看
(小聲嗶嗶,這題真他龜兒的煩人)只有一個txt文件,這里嘗試一下ntfs
這里用工具 NtfsStreamsEditor2搜索一下,發現隱藏數據流
NTFS流隱藏文件編輯器
https://gitcode.com/Premium-Resources/2bbc5/?utm_source=article_gitcode_universal&index=top&type=card&一款專為Windows NTFS文件系統設計的實用工具,能夠幫助輕松創建、查看和刪除隱藏的文件流。
發現是一個.pyc文件
.pyc文件
是Python字節碼文件的擴展名,用于存儲已編譯的Python源代碼的中間表示形式?。是二進制文件,因此無法正常閱讀里面的代碼。文件內包含了已編譯的字節碼,可更快地被Python解釋器加載和執行,因為解釋器無需再次編譯源代碼?。
由于里面的代碼不能直接閱讀,需要對它進行反編譯操作。
在線反編譯pyc/pyp/py/python工具
在線pyc,pyo,python,py文件反編譯工具本工具目前支持反編譯Python的版本有Python 1.5 ,Python 2.1 ,Python 2.2 ,Python 2.3 ,Python 2.4 ,Python 2.5 ,Python 2.6 ,Python 2.7 ,Python 3.0,Python 3.1,Python 3.2,Python 3.3 ,Python 3.4 ,Python 3.5,Python 3.6
http://tools.bugscaner.com/decompyle/結果如下圖示
這個顯然是一個加密過程,我們需要反推它得到真實的flag
這里我直接找AI幫忙寫了一個反向解密的代碼
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'
]# 1. 反轉列表恢復原始順序
reversed_cipher = ciphertext[::-1]# 2. 逐字符解密
flag_chars = []
for i in range(len(reversed_cipher)):num = int(reversed_cipher[i])# 回滾加減10操作if i % 2 == 0:s = num - 10else:s = num + 10# 逆向異或得到原始字符flag_char = chr(i ^ s)flag_chars.append(flag_char)# 3. 組合為最終flag
flag = ''.join(flag_chars)
print(flag)
最終獲得flag{Y@e_Cl3veR_C1Ever!}??
有一說一,這題整的真它龜兒的累