第一次寫博客,有不好的地方,麻煩大佬指正,我用了些時間把BugKu里的Misc的解題思路和套路整理了一下,發出來分享
各位小可愛們,右邊有目錄可以快速跳轉哦
1.簽到題
給了一張二維碼,掃描關注就得到了flag
2.這是一張單純的圖片
題目給了一張圖片,下載下來,然后用Winhex打開,發現末尾處有一段Unicode編碼
key{you are right}
然后打開一個在線解碼的網站解碼就可以得到flag
3.隱寫
把題目給的rar下載下來,解壓后得到一張圖片,先用了Winhex打開,發現沒什么提示,然后又放到kali里面用binwalk檢測,沒有隱藏文件,最后想到了修改圖片的高度
修改圖片的高度和寬度,binwalk分析一下發現什么也沒有藏,那就可能是圖片被改“短”了(一般改成和寬度一樣,把高去用八進制轉換成十六進制,然后去winhex里面找到相同的十六進制,替換成想要的高的十六進制,改寬的原理相同)
先右鍵查看一下文件的高和寬
發現寬是500,然后拿去網站轉化為16進制
16進制為01f4,到winhex里面去搜索01f4
我們把高01A4改成和寬一樣的01F4,然后保存退出,重新打開圖片,就可以看到flag了
4.telnet
下載zip,解壓出來一個數據包,用wireshark打開
篩選telnet協議,然后直接右鍵追蹤TCP流,就可以直接看到flag了
5.眼見非實(ISCCCTF)
下載文件,名字是zip,不管他,直接丟到winhex里面看
發現還真的是zip文件,錯怪他了,修改后綴為zip,打開之后發現里面有個docx文件,解壓出來打開
打開報錯,聯想題目,眼見非實,丟到winhex里面去看
發現也是一個zip文件,修改后綴為zip打開,能解壓出來一個文件夾,flag在\眼見非實\word\document.xml文件下,問我怎么知道的?一個一個試出來的
6.啊噠
下載zip文件,能解壓出來一個表情包,不多說,直接丟到winhex里面查看
發現末尾有flag.txt字樣,猜測是個壓縮包,改后綴后打開壓縮包,發現有flag被加密了,一開始猜測是偽加密,但測試后,發現不是,那就只能去找密碼了,找了半天沒找到,最后抱着試一試的態度,點開了圖片的詳細屬性,發現密碼就在里面.....
不難看出是一個16進制,直接16進制轉文本,得出密碼
輸入密碼解壓,得到flag
7.又一張圖片,還單純嗎
下載下來,丟到winhex里面無果之后,在linux里面使用命令binwalk查找隱藏文件,發現很多隱藏文件
可以用binwalk -e 圖片路徑 或者 formost 圖片路徑 的方法把里面的東西分離出來
不知道是不是我操作問題,我用binwalk分離不出來,所以就用了fomost
分離出來之后,會在當前目錄下生成一個文件夾,在里面能看到flag
8.猜
下載圖片,是個半人臉的照片,丟到winhex和linux里面一頓操作,什么都沒有發現o(╥﹏╥)o,然后重新看了看題目,感覺是靠這半張臉去猜明星,直接用百度搜圖或者谷歌搜圖
發現是劉亦菲,按照題目要求格式提交即可
9.寬帶信息泄露
下載下來發現是個bin文件,丟到winhex里面看了一番,無果后百度了一下bin文件用什么軟件可以打開,結果發現
.bin 是個萬能的后綴,就是說啊,許多軟件的作者如果寫數據文件的時候(跟我一樣)起名困難,很可能不知道該把自己的軟件存出來的文件叫做什么格式,於是啊,既然是二進制存儲的,不如就叫 .bin 吧。
所以,當你看到一個 .bin 格式的文件時,一方面可以先在心里默默咒罵一下軟件作者,另外一方面,可以視圖通過 magic number 猜測這是個什么文件。unix 下的 file 程序就是專門通過文件頭部信息跟 magic number 來猜測文件格式的。猜到之后,就可以試試通過具體的格式是否能夠找到對應的軟件了。
我有什么好說的呢.......
聯想題目,應該是路由器的配置文件,用routerpassview軟件打開,題目要求提交用戶名,所以搜索字段為username
把username所對應的val提交即可
routerpassview這個軟件,火絨會報毒,如果要保險起見,可以去虛擬機運行ヾ(◍°∇°◍)ノ゙
附件下載地址
10.隱寫2
下載圖片下來,發現這個圖片有點猖狂呀!不管他,改盤他還得盤他
用binwalk可以看到有隱藏文件,可以用 binwalk -e 圖片路徑 分離出來
可以分理處一個flag.rar,和提示.jpg,說解壓密碼為3位數,直接用ARCHPR破解
成功爆破出密碼,密碼為:871
解壓出3.jpg,用winhex打開,在末尾發現flag,flag被base64加密了,解密即為正確flag
這里給出解密網站:在線base64加密解密
附件下載地址
11.多種方法解決
下載得到一個exe文件,發現運行不了
所以就用Winhex打開,發現格式就是base64轉圖片的格式
所以就放到網站里面去轉成圖片
得到了一個二維碼,掃描即可
這里放出轉換的網址:base64在線轉圖片
附件下載地址
12.閃的好快
給了一個gif圖,可以用網站把他們分離開來
菜雞的我只能一個一個掃了,掃完可以得到flag
13.come_game
打開zip解壓出來一個exe文件,雙擊打開,發現是一個自己以前玩過的游戲
以前就把我玩吐了,這次又嘗試了上百條命,沒過關......
玩了幾條命后,發現沒用,就退出游戲了
回到游戲文件夾,發現游戲創建了兩個文件
有個叫save的,猜測里面是關卡數
把4改成5,重新進游戲,發現還真的是關卡數,得到flag
14.白哥的鴿子
下載下來得到一個名叫jpg的文件,先不管他,直接用winhex打開,拉到最后,發現了一串奇怪的字符串
看這樣子,猜測是柵欄密碼,就去解密網站解密
提交發現是錯誤的,去掉兩個@@之后提交
15.linux
解壓得到一個名叫flag的文件
這道題有多重做法,這里說兩種
第一種做法
用cat命令,直接輸入cat flag會冒出一大串的字符,拉倒最底下,能發現flag
第二種做法
用strings命令,輸入strings flag,能查找flag這個文件里面的所有字符串,同樣的,在最后可以發現flag
16.隱寫3
下載下來得到一張叫dabai的png圖片,右鍵看了屬性,發現寬跟高很不匹配,猜測是被改“短”了,所以用winhex打開
圖片被改“短”了(一般改成和寬度一樣,把高去用進制轉換成十六進制,然后去winhex里面找到相同的十六進制,替換成想要的高的十六進制,改寬的原理相同)
做法大致和第3題相同,想知道做法的,跳回去看看就行了,做出來的結果如下圖
17.做個游戲(08067CTF)
下載下來發現是個jar文件,玩了一把
注意打開這個文件需要有java的環境
發現他居然嘲諷我,不可饒恕,必須得盤他
右鍵用Notepad++打開
第一眼就看到了PK頭,直接修改后綴為zip,解壓出來三個文件夾
因為zip算法的創始人的名字縮寫是PK,所以看到PK就基本可以斷定是zip文件了
flag在cn\bjsxt\plane\PlaneGameFrame.class文件下,因為PlaneGameFram翻譯過來是游戲框架的意思,所以用Notepad++打開搜索字符串flag就可以得到flag
這里要注意的是,flag是base64位加密過的,要提交解密后的flag才能得分
18.想蹭網先解開密碼
下載下來得到了一個數據包,再看了看題目的提示
知道了是破解wifi密碼,先用軟件或者python生成一個11位數的字典
在kali里面用aircrack-ng -w pass.txt wifi.cap這條命令就可以開始爆破了
破出來密碼為13910407686,按題目要求格式提交即為flag
19.Linux2
把題目下載下載,是個文件,放到kali里面用binwalk掃描一下,發現很多隱藏的文件
用bindwalk -e brave把隱藏的東西分離出來,或者用formost分離出來
進入分離出來的文件夾,找一下,就可以找到flag,flag在_brave.extracted\ext-root\o8\huas.txt文件下
做法二
根據題目的提示,可以直接用grep命令查找字符串"KEY"
Linux系統中grep命令是一種強大的文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行打印出來。grep全稱是Global Regular Expression Print,表示全局正則表達式版本,它的使用權限是所有用戶
提交即可
附件下載,提取碼:s7jy
20.賬號被盜了
這道題,我去的時候,網頁已經404了........
想知道做法的話,可以去看別人的writeup
21.細心的大象
下載下來是一張圖片,結合題目,細心,猜測是右鍵看圖片的詳細信息
果不其然在備注那里有一串疑似base64編碼的東西,解密之后是一串疑似密碼的字符串
然后去kali里面用binwalk查看有沒有隱藏文件,發現有一個rar的文件然后把他們分離出來
打開發現是一個加密了的壓縮包,那密碼肯定就是我們剛剛解密出來的字符串了,解壓出來之后,是一張什么提示都沒有的圖片,猜測是圖片被改短了
我們把01A4改成和寬一下的01F4就可以看到flag了
22.爆照(08067CTF)
把圖片下載下來,發現是一個動漫圖片(手動滑稽)緣什么空的,挺不錯的,推薦看看(doge)
不多說了,直接開始做題,我看着題目,一開始還以為是ms08067呢,想了想發現不可能,把他放到kali里面用binwalk查看一下有沒有隱藏的文件,發現有東西,把它們分離出來
能分離出來一個zip壓縮包,打開發現就一些文件和一個gif動圖,叫我慢慢排序
解壓出來,用file命令查看了一下,都是jpg文件
那就一個一個改后綴成jpg咯,然后一張一張圖片查看,發現88.jpg包含一個二維碼
掃描能得到bilibili,提交發現是錯的,猜測是不完全,看了全部圖片的詳細信息后,發現888圖片有備注
拿去base64解碼,能得到silisili
然后用binwalk一個一個找,會發現8888的圖片有藏一個壓縮包
把他們分離出來,能分離出來一個二維碼,掃描能得到panama,其他的圖片一切正常, 猜測這三個就是flag的組成,然后結合之前的提示,叫我慢慢排序,多試幾次就可以得到flag為flag{bilibili_silisili_panama},提交即可
23.貓片(安恆)
下載下來是一個名字叫png的圖片,根據以往的經驗,改png后綴直接打開
用binwalk分析之后無果,遂用stegsolve打開,並且根據題目給的提示LSB BGR NTFS,設置圖片屬性
把Red Green Blue三項設為0,不顯示他們三種顏色,Alpha不用設置,因為它代表了透明度,如果設置為0了,那么圖片就看不到了
能看到是一個png的文件,按Save Bin把它保存為png文件,然后把FFFE刪去,保留PNG頭
打開圖片發現是半截二維碼
然后修改圖片的高度,關於方法我前面第三題有講,這里就不再贅述
修改好之后掃描可以得到一個百度網盤下載地址
下載下來之后,發現怎么樣都找不到真的flag,去翻了翻大佬的博客,發現要用NtfsStreamsEditor2這個工具打開才可以看到文件,但是我怎么樣都看不到,在此只能搬運這位大佬的博客了
去pyc反編譯網站把這個反編譯一下可以得到
寫一個解密腳本解決
注意兩點 :
encode()只是演示一下ciphertext的由來,也就是演示了如果flag='*******' 加密的過程,讓你明白加密過程 然后現在給你一個真的flag的ciohertext 求解flag,解密的腳本一定是按照加密腳本 反過來寫 也就是按加密腳本從下往上走。一層層解密。
這里給出解密的腳本
import base64
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']
def decode():
flag = ''
ciphertext.reverse()
for i in range(len(ciphertext)):
if i % 2 == 0:
s = int(ciphertext[i]) - 10
else:
s = int(ciphertext[i]) + 10
s = chr(i^s)
flag = flag + s
print(flag)
decode()
最后得出 flag{Y@e_Cl3veR_C1Ever!}
24.多彩
這玩意兒,要知道口紅色號,並且腦洞很大,遂放棄了
25.旋轉跳躍
下載題目文件得到一個mp3文件,然后有個提示說key:syclovergeek
可以使用MP3stege來解密MP3文件,進入到MP3stege文件目錄下,運行以下命令即可
Decode.exe -X -P syclovergeek sycgeek-mp3.mp3
運行結束后會在文件夾下創建
打開即可得到FLAG
26.普通的二維碼
下載解壓出來是一張二維碼圖片,掃描可得到
老規矩,走一套流程,右鍵屬性>winhex>然后binwalk
右鍵看完沒有任何信息,然后用winhex打開
最后那里有一串奇怪的字符串,仔細查看后發現最高只有7,並沒有到8,猜測是八進制,去網站八進制轉成字符串,發現三個一組的時候可以轉出f,猜測是三個一組轉換
把它們放到一個文件里面,但注意要把@xjseck!刪去,然后可以寫一個腳本來轉換(注意本腳本為Python3.x版本才可運行)
f = open('flag.txt')
temp = []
while True:
k = f.read(3)
if k:
temp.append(k)
else:
break
f.close()
for i in temp:
num = '0o' + i
num = int(num, base=0)
num = chr(num)
print(num, end='')
轉換出來的結果如下圖所示
27.烏雲邀請碼
下載解壓得到
使用winhex和binwalk無果后,用stegsolve打開
很明顯的低位隱寫有東西,明顯的lsb隱寫,設置之后可以得到flag
28.神秘的文件
下載得到一個壓縮包,解壓出來是為兩個文件,一個壓縮包,一個圖片
打開flag.zip發現,里面文件有加密,並且也有一張名為logo.png的圖片
很明顯的明文攻擊了,我們使用ARCHPR明文攻擊破解
我嘗試了好久的時間,怎么都爆破不出來,去百度翻了翻,可能是我版本的問題,所以我就用別人爆出來的密碼解壓
密碼為:q1w2e3r4
解壓出來有一個docx的文檔,打開得到一張滑稽圖片
ctrl+a全選后復制出來得到了一個假的flag
然后用binwalk能看到有很多的文件
把它改成zip后綴后直接打開,在docProps目錄下有一個flag.txt打開里面是一串base64加密
拿去解密可以得到flag
29.論劍
下載可得到一張圖片
用winhex打開,看到中間有一串二進制
把它8個一組轉換為16進制,然后在轉換成ascii碼,可以得到mynameiskey!!!hhh,肯定有用的
然后我注意到圖片的寬高很不平等,猜測是寬高被修改過,遂可以修復一下
不知道怎么修復的小伙伴,可以看看第三題,我那里有講過
得到一張圖片,但是有一些地方被擋住了,我們應該還有一些線索沒有找到,回到winhex,發現緊跟在二進制后面有一串我們比較熟悉的十六進制
翻了翻記錄文件頭的小筆記,發現這個頭跟7z的文件頭很像,所以就修復了一下,修復之后用binwalk看了一下,不出所料,出現了7-zip文件
我們用dd分離出來
得到一個壓縮包,但是被加密了,解密的密碼就是我們之前解出來的那個字符串
解壓出來可以得到一張和題目一樣的圖片,同樣修改一下它的寬高,可以得到如下圖片
然后結合之前的那張圖片可以得到Not flag{666c61677B6D795F6E616D655F482121487D}
中間的那串字符是一串bash16加密,解密即可得到flag
Base16編碼使用16個ASCII可打印字符(數字0-9和字母A-F)對任意字節數據進行編碼。
Base16先獲取輸入字符串每個字節的二進制值(不足8比特在高位補0),然后將其串聯進來
再按照4比特一組進行切分,將每組二進制數分別轉換成十進制
然后在下面找到對應的編碼串接起來就是Base16編碼。
編碼 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
字符 0 1 2 3 4 5 6 7 8 9 A B C D E F
30.圖窮匕見
下載下來得到一張圖片,用winhex打開,搜索文件尾ffd9可以看到跟在文件尾后面有很多的字符串
把他們保存下載,然后用16進制轉成ascii碼,就有思路了
這一看就知道是坐標,以下有兩種做法
第一種、可以用python寫個腳本把它畫出來,這里我就直接借用一下大佬的腳本了
import matplotlib.pyplot as plt
i=0
fig=plt.figure()
with open("text.txt") as f:
for data in f.readlines():
data=data.strip()
data=eval(data)
plt.scatter(data[0],data[1],c="255",marker=".")
i=i+1
print("\r\n[+] Has dealed",i,"lines")
plt.show()
最后可以得到一張二維碼但是特別慢
第二種、在linux里面用gnuplot工具
這里需要注意的是,gnuplot一定要把括號換成空,把逗號換成空格才可以識別畫圖
掃描即可得到flag
31.convert
下載文件得到一長串的二進制字符串
把它們直接轉換為16進制,這里我就寫了個python來轉換為16進制
f1=open("flag.txt","r")
print(hex(int(str(f1.read()),2)))
f1.close()
把他們復制到winhex里面
我們可以發現,他是一個rar文件,把后綴改為rar然后可以解壓出來一張圖片,圖片的詳細信息里面有一串base64加密
解密即可得到flag
32.聽首音樂
下載可以得到一個音頻文件,題目沒有任何提示,我們把它放進Audacity分析一下
上面那段音頻,有短有長有空格,很容易讓人聯想到摩斯密碼,把它們按照順序一個一個打出來可以得到如下密碼:
..... -... -.-. ----. ..--- ..... -.... ....- ----. -.-. -... ----- .---- ---.. ---.. ..-. ..... ..--- . -.... .---- --... -.. --... ----- ----. ..--- ----. .---- ----. .---- -.-.
然后去一個莫斯密碼解密的網站解密即可得到flag
33.好多數組
下載下來得到一堆的數獨,自己解出來也沒啥用,也沒啥思路,這里解直接借用一位大佬的wrtieup了,因為他寫的比較詳細,鏈接如下:喬悟空
zip沒有后綴,winhex打開,發現確實是zip,修改后綴,解壓得到一堆圖片,內容是數獨
非常壯觀,出題人也是費勁了,這個就是二維碼分成了25部分,把有數字的塗黑,拼到一起就能組成一個二維碼,思路是看來的,但是怎么才能快速完成這一系列的工作呢,怎么能快速獲取黑點呢,全點一遍有點呆吧……
每一個有九行,如果能選某一行的像素點遍歷,估計就可以實現了,go,
(n years later……🙄)
他終於來了,全網獨家腳本,哈哈哈哈哈哈,可能沒人和我這么閑吧哈哈哈哈
我們知道,每個數獨有九行,我們要得到的是有哪幾行填充了數字,我的思路就是掃描每一格中間的像素,如果是黑色,那就是填充了數字,白色反之
此時文件結構是這樣的:
## 此腳本用於從數獨圖片獲取密碼,有值為1,無值為0
import os
import cv2
import numpy as np
from PIL import Image
black = (0,0,0) ## 黑色RGB
white = (255,255,255) ## 白色RGB
## 獲取給定路徑圖片的結果數組
def getBin(picPath):
image = cv2.imread(picPath)
height = image.shape[0] ## 圖片寬度
wide = image.shape[1] ## 圖片高度
formWide = (wide-6)/9 ## 每一格寬度
res = [] ## 結果數組
tem = '' ## 暫存數組
for i in range(9):
for j in range(wide-6):
px = image[int(i*(formWide-1)+(formWide/2)), j+3]
if (px == white).all() and (j+3)%formWide > (formWide*3/4) and (j+3)/formWide > len(tem):
tem += '0'
if (px == black).all() and (j+3) % formWide > (formWide/4) and (j+3) % formWide < (3*formWide/4) and (j+3)/formWide > len(tem):
tem += '1'
res.append(tem)
tem = ''
return res
## 獲取整合25張圖片,獲取最終結果
def getRes():
tem = [] ## 臨時存儲返回值
res = [] ## 存儲結果數組
for i in range(5):
for j in range(5):
picPath = 'zip/' + str(i*5+j+1) + '.png' ## 構造文件名
tem = getBin(picPath)
if len(res)==0:
res = tem
else:
if len(res)==(i+1)*9:
for x in range(len(tem)):
res[(i*9)+x] += tem[x]
else:
for x in range(len(tem)):
res.append(tem[x])
return res
resList = getRes()
resImg = Image.new('RGB',(45,45))
## 繪制圖片
for x in range(45):
for y in range(45):
if resList[x][y] == '0':
resImg.putpixel((x,y),white)
else:
resImg.putpixel((x,y),black)
resImg.save('res.png')
腳本獲取的圖片還是有一些偏差,因為題目給的圖片不規范(不管我的事🥱),我微調腳本之后,得到下圖,QR Search竟然掃不出來,但是騰訊QQ可以,我只能說一句馬老板🐂🍺哈哈哈哈哈,掃碼結果:Vm0xd1NtUXlWa1pPVldoVFlUSlNjRlJVVGtOamJGWnlWMjFHVlUxV1ZqTldNakZIWVcxS1IxTnNhRmhoTVZweVdWUkdXbVZHWkhOWGJGcHBWa1paZWxaclpEUmhNVXBYVW14V2FHVnFRVGs9
base64解碼七次后結果:flag{y0ud1any1s1}
34.PEN_AND_APPLE
下載得到一個mp4文件,然后這是一個NTFS的隱寫,但我做不出來hhhh,這道題先留着,等我之后會了我再來補上,對不起啦(>人<;)
35.color
下載下來得到一組圖片,用StegSolve依次打開查看,可以發現一些英文字母
連起來可以組成一句話:Make me tall,意思就是讓他變高,那我們可以把他們放到winhex里面去修改他們的高度
之后可以看到有黑白塊在圖片的底部
把他們以顏色轉換為二進制,白色轉為0,黑色轉為1,我們可以拿到七串字符串
發現橫向解密解密不出來,所以就嘗試了一下縱向解密,發現當縱向排列的時候,1100110能解出來為f
那我們可以寫一個腳本來解密
f1 = '11111111010111101111'
f2 = '11111011111110111111'
f3 = '00001100101010110001'
f4 = '01001010010000001101'
f5 = '11010011011101010111'
f6 = '10011011011010110110'
f7 = '00111001101101111101'
flag = ''
for i in range(0,20):
f = f1[i]+f2[i]+f3[i]+f4[i]+f5[i]+f6[i]+f7[i]
flag += chr(int(f,2))
print flag
運行即可得到flag
36.懷疑人生
下載下來是一個名為zip的文件,把它改后綴為zip打開,能解壓出來三個文件
線索一、cfg1.zip
發現zip文件有加密,嘗試了一下,發現不是偽加密,看了看題目,並沒有給什么提示,所以就直接用字典暴力破解了,我用的字典是archpr自帶的字典
得到解壓密碼后,解壓可以得到一串base64的字符串
把它拿去解密后,可以得到一串16進制
再拿去解密,可以得到一個
線索二、ctf2.jpg
用winhex打開,可以發現最后面有一個zip的文件
把圖片后綴改為zip,打開發現需要密碼,輸入上一個密碼發現不行,爆破軟件說不是一個加密過的zip,猜測是偽加密,丟進winhex查看,的確是偽加密,把紅框里面的01改為00即可
解壓出來是一串我看不懂的東西
百度查了一下,發現是ook加密,解密可得到第二段的flag(這里的字符串是ook省略沒寫,可以看出來是ook加密)
線索三、ctf3.jpg
是一張圖片,看起來像一張二維碼,但我又覺得不是,看起來太奇怪了,想着怎么修復這張二維碼,但是一點辦法,一點頭緒都沒有,就抱着試一試的心態,拿出QQ,掃描二維碼,神器的就來了
wc,它居然掃出來了,不得不說,QQ還是nb的
最后把他們三段拼接起來就是flag了
flag{hackermisc12580}
37.紅綠燈
下載下來得到一個GIF的圖片,然后用分離工具把他們全部分離出來,能分離出來1168張圖片
觀察一下,發現黃燈閃的是最少的,每一個黃燈之前都有8個燈在亮,所以可以聯想到二進制
我們可以推測紅色和綠色對應二進制0和1,黃色作為分隔,那么久只有兩種結果
01100110或10011001,這兩種都拿去轉換為ASCII碼,發現01100110對應為f
就可以確定綠燈對應0,紅燈對應1,把他們全部轉換一遍,可以手動轉換,也可以寫一個python的腳本
這里我就直接搬運這位大佬的腳本了
# -*- coding: cp936 -*-
from PIL import Image
savepath='D:\\gif\\'
im=Image.open('D:\\Traffic_Light.gif')
try:
#tell是幀數,而seek是取當前幀數的圖片。
im.save(savepath+'light{0}.png'.format(im.tell()))
while True:
im.seek(im.tell()+1)
im.save(savepath+'light{0}.png'.format(im.tell()))
except:
pass
flag=""
for i in range(1168):
image=Image.open(savepath+'light'+str(i)+'.png')
#print image.getpixel((115,55))#輸出顏色值
#print image.getpixel((115,145))
if image.getpixel((115,55))==251:
flag+=str(1)
elif image.getpixel((115,145))==186:
flag+=str(0)
flag= hex(int(flag,2))[2:-1].decode('hex')#二進制轉字符串
print flag
然后即可得到flag
38.不簡單的壓縮包
下載下來得到一個加密過的zip文件,里面有一個加密過的swf文件,然而並不知道密碼,放進winhex里面去看看
可以發現最后面有個壓縮包,把它手動分離出來,發現分離出來的還是有加密,我以為是偽加密,試了一下,好家伙,直接報錯了
然后去看了看題干,發現並沒有什么提示,那就直接爆破唄,爆破出來顯示密碼是0
用這個密碼解壓可以得到一個文檔,里面寫着一串日文,拿去翻譯可以得到提示
emmmm,這是要爆破死我=-=,沒辦法咯,那就直接爆破,一下子就爆破出來了,密碼是50個a
用這個密碼解壓可以得到一個小游戲,可能是我比較菜,玩不通關,然后就去百度怎么破解swf的文件,讓我找到了一個工具
把游戲放進去,可以看到游戲的源碼,然后找了一下,在腳本里面能看到一串奇怪的字符串
把它轉為字符串就可以得到flag了
提交的時候記得把?!符號去掉哦
39.一枝獨秀
下載下來得到一個壓縮包,然后解壓出來是一個jpg文件,但是並打不開,然后用winhex分析,發現它是一個zip文件
把它后綴改為zip就可以打開了需要注意的是,文件上面有一段沒用的文件頭需要刪除
刪除之后打開,說需要密碼,然后就直接爆破密碼
爆破出來密碼是12345678,不知道為什么我的爆破不了
然后解壓出來可以看到很多的花的圖片,觀察了一下,發現就這張圖片的大小和別的圖片不一樣
發現了一個很像二維碼,但又不是二維碼的東西
做到這里我就不會了,就去翻了翻大佬們的博客,發現需要JPHS這個工具
打開工具-open JPEG-打開剛才標記的81號
Seek–發現需要密碼,於是繼續觀察81號
右鍵查看屬性得到了主題flowers,可能是密碼,填上試試,發現對了,把文件保存下載
然后用winhex打開,能看出來這是一個zip文件
改zip后綴解壓出來能得到一個文檔,里面有些文字
下面那個加密很常見了,是與佛論禪加密,解密一下能得到
然后再根據題目的提示,拿去柵欄密碼解密
能得到一個HINT,這個明顯是一個base64的加密,再拿去解密就能得到flag了