CTF-i春秋網鼎杯第二場misc部分writeup
套娃
下載下來是六張圖片
直接看並沒有什么信息
一個一個查看屬性
沒有找到有用信息
到winhexv里看一下
都是標准的png圖片,而且沒有flag寫入Hex數據
繼續扔到kali里用binwalk分析一下
圖片未嵌入其他文件
直接在kali雙擊打開png圖片,發現可以正常打開(注:被修改過高度的圖片無法在kali中直接打開,會顯示無法載入圖像)
那繼續分析IDAT塊,IDAT是png圖片中儲存圖像像數數據的塊,不清楚的可以去補充一下關於png圖片格式知識
我們使用pngcheck分析圖片的IDAT塊
1-5圖片正常,但是6圖片的塊沒有到32768就滿了,猜測6圖片可能有問題,划重點
上Stegsolve重點分析6.png
先向后翻幾頁,看看是不是直接可以得到信息
找到頭也沒找見什么東西,也不存在上一場的0通道lsb隱寫,好吧,繼續查看通道信息
勾選Red、Green、Bile的0通道,Order settings欄勾選LSB First BGR,點擊Preview如下所示
把滑動欄移到頂端,好吧,flag在playload中...(ps:當初確實做到這一步了,但是因為默認是跳到最后的,沒往上找,痛苦...所以還是要細心)
神奇的二叉樹
下載到題目后有兩個文件,一個是文本文檔一個是圖片,既然給了文本文檔那就看看吧
README.txt內容如下
MS7ov5nmmK/kuIDmo7XnuqLpu5HmoJEKMi7moJHku44xLTU55LiK55qE5p6c5a2Q5L6d5qyh5Li6IGVrYH4zYzpnZjAxN2I3NDQvYjM4ZmR+YWJtN2c1NDg5ZTJ7bGY2ejhkMTZoYWVgOTh9YnwtMjFtLmU6CjMu5L6d5qyh5LuO5qCR5LiK5Y+W6LWw56ysIDE4LDM1LDUzLDUwLDE0LDI4LDE5LDYsNTQsMzYg5Liq5p6c5a2QLOi/h+eoi+S4reS/neaMgee6oum7keagkeaAp+i0qOS4jeWPmAo0LnRtcGZsYWfkuLrnrKwgOCw1Niw0NywzNyw1MiwzNCwxNyw4LDgsMjksNyw0Nyw0MCw1Nyw0NiwyNCwzNCwzNCw1NywyOSwyMiw1LDE2LDU3LDI0LDI5LDgsMTIsNTcsMTIsMTIsMjEsMzMsMzQsNTUsNTEsMjIsNDUsMzQsMzEsMSwyMyDkuKrmnpzlrZAKNS5mbGFn5Li6IHRtcGZsYWcg57qi6Imy5p6c5a2QIEFTQ0lJICsxICwg6buR6Imy5p6c5a2QIEFTQ0lJLTEKNi7orqnmiJHku6zmhInlv6vnmoTlvIDlp4vojrflj5ZmbGFn5ZCn
看樣子應該是base64加密,拿去解密一下
好的,規則出來了,按照規則有共59個紅色和黑色的球,1號到59號各代表一個字母或符號,需要拿掉題目中提到的10個球后依然保持紅黑樹的性質,然后在保證這個性質的同時比對剩下的球和字符,按照紅色ASCll+1和黑色ASCll-1的規則確認最終的flag。
好吧,那么什么是紅黑樹呢,紅黑樹(Red Black Tree) 是一種自平衡二叉查找樹,是在計算機科學中用到的一種數據結構,典型的用途是實現關聯數組。
它的性質如下:
- 性質1. 節點是紅色或黑色。
- 性質2. 根節點是黑色。
- 性質3 每個葉節點(NIL節點,空節點)是黑色的。
- 性質4 每個紅色節點的兩個子節點都是黑色。(從每個葉子到根的所有路徑上不能有兩個連續的紅色節點)
- 性質5. 從任一節點到其每個葉子的所有路徑都包含相同數目的黑色節點。
有了性質就好說了,但是並不推薦手動畫圖,因為紅黑樹非是唯一解,所以最好利用網站:https://sandbox.runjs.cn/show/2nngvn8w在線生成紅黑樹。
按層添加節點,生成樹后,按順序刪除節點,發現不止一個解,排序頭5個字母應為flag{,最后一個應為},得出8,56,47,37,52,23應為黑,黑,紅,紅,黑,黑
選擇一個符合條件的紅黑樹,輸出結果。
得到flag為