安恆西湖論劍線下上午CTF部分題目WP


簡單的做了兩個題,一道逆向,一道misc,其他題目,因為博主上課,時間不太夠,復現時間也只有一天,后面的會慢慢補上

先說RE1,一道很簡單的win32逆向,跟蹤主函數,R或者TAB按幾下,

根據esp返回地址,來確定,這里將字符串根據偏移地址依次入棧,在調用print函數后,又對字符進行了替換

因此flag很容易得到

Dbapp{crackme100}

F5看一下偽代碼

 

如下圖和匯編代碼一樣,做了一個賦值替換

 

一個do while循環將滿足條件的轉化為Ascll碼

下一題

Misc1

開局一張圖

后面用hxd和tweakpng分析的時候,留意到一個警告,百度,大致意思的圖片里面內嵌了圖片,

復現結束后問一個做出來的師傅,那個師傅說這張圖里面內嵌了很多圖片,只不過出題人把文件頭給改掉了

這里我搜索的是png文件頭的一部分4E47,從上圖可以看到第一行就是我們所看到的最外層的圖片,文件頭是完整的

參考第一個,往后面看,可以注意到,文件頭類似的有三張圖,有開頭(PNG)還有結束的標識(IEND)

可以看到文件頭確實被改掉了,我們改回來然后用foremost分離圖片

 

可以得到四張圖(一張原圖,三張隱藏圖片)

對隱藏圖片修改寬高,無果

用圖片分析工具,查看,可以找到一絲端倪

 

有隱寫痕跡,但是很模糊(三張圖片都有痕跡),猜測需要異或,但是有三張圖片,可能需要把三張圖合並

合並之后,還是很模糊

分析不出有效的信息,太模糊了

嘗試三張圖片與原圖片(0000000)依次異或,再進行合並

xor1和xor2合並之后,右下角的標記清晰了一些,再拿合並后的圖片與xor3合並

可以看到清晰了很多,轉一圈,flag有了

 

 雜談:

一些本人對題目的理解,多張圖片合並之所以無法得到清晰的圖片,關鍵點在像素點上,簡單做個比喻,黑色像素點代表0,白色像素點代表1

異或大家都知道,1 xor 1=0;         0 xor 0=0               ;1  xor 0 =1

那么用黑白像素點做異或的話就很好理解了,多張圖片黑白像素點分布是不均衡的,一旦合並,存在有的圖片有全0或者全1的狀況,合並之后就會把其它突破的像素點給覆蓋掉

異或之后,再進行合並,0變成1,1變成0,恰好能夠還原出原來的信息。

2020-5-11讀《圖解密碼學》關於圖片異或有提到

 

 

 


免責聲明!

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



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