BugKu-雜項(Misc)的部分Writeup(持續更新)


第一次寫博客,有不好的地方,麻煩大佬指正,我用了些時間把BugKu里的Misc的解題思路和套路整理了一下,發出來分享
各位小可愛們,右邊有目錄可以快速跳轉哦

1.簽到題

給了一張二維碼,掃描關注就得到了flag
在這里插入圖片描述

2.這是一張單純的圖片

題目給了一張圖片,下載下來,然后用Winhex打開,發現末尾處有一段Unicode編碼

key{you are right}

在這里插入圖片描述
然后打開一個在線解碼的網站解碼就可以得到flag在這里插入圖片描述

這里放出解碼的網址:https://tool.chinaz.com/tools/unicode.aspx
附件下載地址

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

在線解密網站:在線16進制轉文本
附件下載地址

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

這題有點麻煩,就把flag給出來SYC{F1aSh_so_f4sT}
這里給出圖片分離的網站gif分離
附件下載

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才能得分

base64解密網站

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了
在這里插入圖片描述


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM