題目地址:http://ctf.bugku.com/files/5e480ecb178711e82bc847a208e15b32/misc80.zip
就一張二維碼圖片,用一些在線工具識別是亂碼,用QQ識別出來是

用16進制編輯器打開發現末尾有段很突兀的數據,不屬於bmp位圖的內容,想必flag就在其中

觀察這段數據發現只有0-7,沒有8和9,很容易想到是8進制數據,可以將其轉換成10進制,然后再轉成ascii字符。一開始看這個數字總長126個,2的倍數,加上以前轉換16進制的慣性思維,讓我以為這里也是兩兩一對的轉換,轉換出來自然不正確,一堆亂碼,后來發現兩位的8進制數據最大077(數字前加0表示8進制),轉換成10進制63也表示不完ascii碼表上的字符啊,而且126剛好也是3的倍數,所以三個一組來轉換,如下腳本:
f=open("1.txt",'r') res='' for i in range(42): s=eval('0'+f.read(3)) res+=chr(int(s)) print res raw_input()

