跳转至

題目

2018 網鼎杯第一場 clip

通過010 editor 可以看到文件的頭部包含有 cloop 字樣,搜了搜發現這是一個古老的 linux 壓縮後的設備,題目中又說這個設備損壞了,所以就想辦法找一個正常的。於是搜索如何壓縮得到一個 cloop 文件,如下

mkisofs -r test | create_compressed_fs - 65536 > test.cloop

參考https://github.com/KlausKnopper/cloop,於是壓縮一個文件,然後發現源文件文件頭存在問題,於是進行修復,從而考慮如何從 cloop 文件中提取文件,即使用

extract_compressed_fs test.cloop now

參考https://manned.org/create_compressed_fs/f2f838da。

得到一個 ext4 類型的文件,進一步想辦法獲取這個文件系統的內容

  clip losetup -d /dev/loop0
losetup: /dev/loop0: detach failed: Permission denied
➜  clip sudo losetup -d /dev/loop0
➜  clip sudo losetup /dev/loop0 now                                                 
losetup: now: failed to set up loop device: Device or resource busy
➜  clip sudo losetup /dev/loop0 /home/iromise/ctf/2018/0820網鼎杯/misc/clip/now        
losetup: /home/iromise/ctf/2018/0820網鼎杯/misc/clip/now: failed to set up loop device: Device or resource busy
➜  clip losetup -f           
/dev/loop10
➜  clip sudo losetup /dev/loop10 /home/iromise/ctf/2018/0820網鼎杯/misc/clip/now
➜  clip sudo mount /dev/loop10 /mnt/now
➜  clip cd /mnt/now   now ls        
clip-clip.png  clip-clop.png  clop-clip.png  clop-clop.jpg  flag.png

最後一步就是修復 flag 了。就是少了文件頭那幾個字符。