iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
Security

picoCTF系列 第 19

[Day 19] Secret of the Polyglot & tunn3l v1s10n

  • 分享至 

  • xImage
  •  

今天的題目比較簡單,於是我選了兩題來講解,第二題是 2021 年的題目,雖然是幾年前的題目了,但我覺得蠻有趣的。

第一題是要我們能夠從一個奇怪的檔案裡找出資訊,提示告訴我們可以用其他的方式打開檔案。
https://ithelp.ithome.com.tw/upload/images/20240810/201683428kvB8KpDic.png
hint 1:This problem can be solved by just opening the file in different ways

將題目的檔案下載,會得到一個 pdf 檔案。flag2of2-final.pdf

打開檔案,出現以下字串。
https://ithelp.ithome.com.tw/upload/images/20240810/20168342XKvOJv3oZd.png

file 檢視一下所得到的檔案,發現其格式應該為 png 檔才對。

$ file flag2of2-final.pdf 
flag2of2-final.pdf: PNG image data, 50 x 50, 8-bit/color RGBA, non-interlaced

於是將 .pdf 更改為 .png,便會出現 flag 的前半部。
https://ithelp.ithome.com.tw/upload/images/20240810/20168342P6xML6VzeC.png

合併字串,便可得到 flag。
https://ithelp.ithome.com.tw/upload/images/20240810/20168342h4D1cuGoqz.png

第二題我們看到題目和提示,沒有辦法得到甚麼特別的訊息。
https://ithelp.ithome.com.tw/upload/images/20240810/20168342e9ODKnyPYv.png
hint 1:Weird that it won't display right…

將題目給的檔案下載,會得到一個未知檔案 tunn3l_v1s10n。用 file 檢視,會發現得到是 data 的訊息而已。

$ ls 
tunn3l_v1s10n
$ file tunn3l_v1s10n 
tunn3l_v1s10n: data

使用 exiftool 詳閱資訊,得知這是一個 bitmap 格式的檔案。

$ exiftool tunn3l_v1s10n 
ExifTool Version Number         : 12.40
File Name                       : tunn3l_v1s10n
Directory                       : .
File Size                       : 2.8 MiB
File Modification Date/Time     : 2021:03:15 18:24:47+00:00
File Access Date/Time           : 2024:08:02 14:58:36+00:00
File Inode Change Date/Time     : 2024:08:02 14:58:25+00:00
File Permissions                : -rw-rw-r--
File Type                       : BMP
File Type Extension             : bmp
MIME Type                       : image/bmp
BMP Version                     : Unknown (53434)
Image Width                     : 1134
Image Height                    : 306
Planes                          : 1
Bit Depth                       : 24
Compression                     : None
Image Length                    : 2893400
Pixels Per Meter X              : 5669
Pixels Per Meter Y              : 5669
Num Colors                      : Use BitDepth
Num Important Colors            : All
Red Mask                        : 0x27171a23
Green Mask                      : 0x20291b1e
Blue Mask                       : 0x1e212a1d
Alpha Mask                      : 0x311a1d26
Color Space                     : Unknown (,5%()
Rendering Intent                : Unknown (826103054)
Image Size                      : 1134x306
Megapixels                      : 0.347

那造成圖片無法開啟的原因有可能是儲存時,有些重要資訊被誤植了。於是我們隨便下載兩張 bmp 圖片,並用 hexedit 查看圖片儲存的 hex 值,可以發現第兩張 bitmap 第一行的值都是相同的

$ hexedit sample_640×426.bmp
$ hexedit sample_1280×853.bmp

https://ithelp.ithome.com.tw/upload/images/20240810/20168342TRrwEjzQOY.png

再來查看本題得到的圖片,發現第一行的值和前兩張都不同。

$ hexedit tunn3l_v1s10n

https://ithelp.ithome.com.tw/upload/images/20240810/20168342YMQ1IK7Bb0.png

於是我們將 tunn3l_v1s10n 第一行的值更改,可以發現檔案能打開了。但是這裡出現的是 notaflag(sorry) 的字串。
https://ithelp.ithome.com.tw/upload/images/20240810/20168342CY93ZhR7KK.png

於是想到可能跟圖片大小有關,所以我們試著把寬度增加,從 306 增加到 1000。那 hex (306) = 0x132,hex (1000) = 0x3e8,所以我們將 32 01 改成 3e 08
https://ithelp.ithome.com.tw/upload/images/20240810/20168342GzelxhlHO8.png

可以看到圖片上半部了,flag 就在這裡!
https://ithelp.ithome.com.tw/upload/images/20240810/201683422icxvLv7w4.png

小結:
了解 bmp,還有 hexedit 指令。


上一篇
[Day 18] Bookmarklet
下一篇
[Day 20] Safe Opener 2 & Reverse
系列文
picoCTF30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言