二十二、多彩
下載圖片,放到Stegsolve裏面跑下。
發現了
圖片的名稱又是lipstick.png (lipstick是口紅意思),這邊又有YSL,所以懷疑與YSL口紅有關(聖羅蘭口紅).使用data extract分析下,發現PK開頭,直接save bin 存爲zip格式
發現文件打不開,於是使用winhex打開,進行圖中操作,成功打開文件,發現flag.txt文件加密
然後解壓文件會產生錯誤,這裏有個小坑注意,不能使用winrar解壓,要使用360壓縮等解壓。
未完待續,卡住了這題
二十三、旋轉跳躍
一看題目,提示我們密碼,還是音頻文件,目測是音頻隱寫。
上工具MP3Stego。可以參考我的這篇博客
可以得到一個txt文件,,得到flag
二十四、普通的二維碼
掃描會得到一句話:我不會告訴你flag就在這裏。使用winhex打開發現最後一段數字,應該是8進制數。
編寫python腳本轉ASCII碼,即可得到flag
a = '146154141147173110141166145137171060125137120171137163143162151160164137117164143137124157137124145156137101163143151151041175'
flag = ''
for i in range(len(a) // 3):
flag += chr(int(a[i * 3:i * 3 + 3], 8)) # 八進制3爲一個ASCII碼
print(flag)
二十五、烏雲邀請碼
經過一些嘗試,原理是LSB隱寫,使用Stegsolve工具的Data Extract功能即可得到flag
二十六、神祕文件
下載附件,發現裏面有一張圖片,和一個壓縮包,且壓縮包裏也有一個一模一樣不過是加密的圖片。
1、於是我們想到明文攻擊。使用ARCHPR工具進行攻擊。
2、注意把logo壓縮成壓縮包,並且把flag.zip的壓縮包裏的doc文件刪除。
3、這邊有一個坑,我們的壓縮算法要與flag.zip的壓縮算法一樣纔可以。我卡了好久在這。
4、可以複製flag.zip然後存入logo.png文件,然後修改名字爲logo.zip。
5、可以得到口令,輸入口令我們發現是一個笑臉
進行binwalk文件分離
然後在docProps文件下有個flag.txt,進行base64解碼即可得flag。
破解zip加密的常見的幾種方法,可以參考這個大佬的博客
二十八、圖窮比見
下載附件
,使用winhex打開,在文件最後面發現一大堆16進制,然後複製到notepad裏使用插件裏的converter進行轉化爲ascii碼。發現是一對座標,然後把左右括號去掉,把逗號換成空格
然後使用gnuplot工具畫圖
使用命令 plot "E:\\gnuplot\\2.txt"
掃描得flag
二十九、convert
一、打開文件發現一堆二進制,保存爲2.txt文件,那肯定得轉化爲16進制,這邊我嘗試直接利用腳本轉化爲10進制然後轉化爲ASCII,發現是個rar文件,卻因爲有些字體識別不了亂碼,打不開文件。
with open('2.txt', 'w',encoding='utf-8') as f1:
with open('1.txt',encoding='utf-8') as f2:
while True:
temp = f2.read(4)
if temp:
temp = int(temp, 2) # 二進制轉10進制
temp = hex(temp) # 10進制轉16進制
f1.write(temp[2:]) # 去掉0x
else:
break
二、利用Notepad++自帶的十六進制轉ascii,發現rar文件頭,將文件另存爲一個rar文件。
打開文件發現裏面有一個圖片,我們先看下屬性,發現有一串base64碼。
然後在線解密,發現flag.
三十、聽首音樂
聽了一會後,沒聽出啥,使用audacity進行分析,發現有點像摩斯密碼
然後放大,摩斯密碼有兩種“符號”用來表示字符:點(.)和劃(-),或叫“滴”(Dit)和“答”(Dah)。(滴,1t;嗒,3t),
分析,寫出摩斯密碼爲(每一組後面加上空格)
..... -... -.-. ----. ..--- ..... -.... ....- ----. -.-. -.. ----- .---- ---.. ---.. ..-. ..... ..--- . -.... .---- --... -.. --... ----- ----. ..--- ----. .---- ----. .---- -.-.
在線解密http://www.zhongguosou.com/zonghe/moErSiCodeConverter.aspx
三十一、好多數值
打開題目發現一堆數值,有點像rgb的值,255,255,255就是白色。
那麼題目的思路就是一個根據這堆值生成圖片
把行61366因式分解分解成兩個數相乘(503*122)
from PIL import Image
x = 503 # x座標 通過對txt裏的行數進行整數分解
y = 122 # y座標 x*y = 行數
im = Image.new("RGB", (x, y)) # 創建圖片
with open('1.txt') as file: # 打開rbg值文件
# 通過一個個rgb點生成圖片
for i in range(0,x):
for j in range(0,y):
line = file.readline() # 獲取一行的rgb值
rgb = line.split(",") # 分離rgb
im.putpixel((i,j),(int(rgb[0]),int(rgb[1]),int(rgb[2]))) # rgb轉化爲像素
im.show()