喵喵喵
下載附件后,發現是一張貓的圖片,日常先用16進制編輯器去瞧瞧有啥線索......,然而並沒有,那應該就不需要用工具去分離圖片了,不放心的話也可以去試試。 然后再用工具stegslove打開,瞧瞧有啥線索。果然有秘密。在rgb的0通道里可以發現一絲不正常
應該就是LSB隱寫了,打開Data Extract模式查看,並提取。
另存為1.png,發現並不能打開,繼續16進制編輯器打開,發現文件頭前一部分還有一些數字刪去即可。png的文件頭是89504e47
保存后發現是一個只有上半部分的二維碼,首先想到的是修改圖片的高度,看是否能否得到下半部分
圖片寬和高不一樣,將高度修改為和寬一樣,然后保存就得到了二維碼。
准備去掃,卻發現顏色被 置反了(用 stegsolve異或一下),掃二維碼。不過好像現在的軟件已經很給力了,在線掃或者手機掃,都可以掃出來.
給了一個網址https://pan.baidu.com/s/1pLT2J4f,從網盤下載flag.rar。以為終於結束了,但是事實並沒有那么簡單。。。。。。
太過分了吧,然后就沒有然后了。到了這一步已經不會了,去看看大佬的writeup
果然我還是菜鳥,這里涉及了NTFS文件隱寫,相關知識可以查看大佬博客https://blog.csdn.net/qq_41079177/article/details/102964134。利用利用NtfsStreamsEditor軟件去提取隱藏文件。(這一步我一直提取失敗,沒搞懂為什么,后來發現下載的壓縮包用WinRAR解壓才可以提取到隱藏的文件,據大佬說流隱寫得用WinRAR解壓)
好不容易找到了隱藏的pyc文件利用Pyc反編譯
在線網站進行反編譯:https://tool.lu/pyc/
反編譯出加密腳本
#!/usr/bin/env python
# visit https://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
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']
ciphertext = ciphertext[::-1]
flag = ''
for i in range(len(ciphertext)):
if (i % 2 == 0):
a = int(ciphertext[i]) - 10
else:
a = int(ciphertext[i]) + 10
a = i ^ a
flag = flag + chr(a)
print(flag)