網鼎杯第一場wp


網鼎杯第一場WriteUP—-china H.L.B 團隊

文章地址:https://www.o2oxy.cn/1661.html

1、簽到題

回復1f5f2e進入下一關 

 

 

2、Clip

下載題目是Disk 文件。第一反應是linux虛擬硬盤。

用winhex 打開如圖:

 

在winhex中第196280 發現了png的頭文件如圖:

png 16進制文件頭以 89504E47開頭

第一張圖片:

第二張圖片

 

 

使用PS拼接如下如:

 

3. minified 

用Stegsolve 打開圖片

打開 Stegsolve 選擇Data Extract 查看圖片通道,如圖,

選擇0 通道發現是LSB 隱寫。

分別把 alpha green 和blue 的0通道另存為 再進行異或處理 最終在alpha 和green 中發現flag 

 

4、beijing 

題目給了我們一個linux 下可執行的程序、放在虛擬機執行如下:

拖到IDA 里面進行嘗試分析一下程序的邏輯、經過分析程序主要處理的兩個函數、主要邏輯如下”

 

main 函數21次調用了encode 函數 然后將返回的結果按照字符打印如下

encode 函數按照a1 的數值進行對飲的亦或運算、返回char 類型結果 

 

查看或部分對飲的數據段和對應的hex 數據

數據段數據hex數據

這里可以看到這段數據大部分都是可見字符、因此可以假設flag 就在這段數據中、但是順序是被打亂的、而正確的main 函數的中的順序

encode :

    return flag[i]^xor[i]

main:

   list[]   <– 記錄正確的flag打印順序

   print encode(list[i])

按照上面的理論 、可以得到如下的分組:

 

最后運算腳本:

python:

result=”

for i in range(0,20):

  result +=flag[list[i]]

  print result 

 

Flag: flag{amazing_beijing}

 

5、advanced 

把題目放入linux 中嘗試運行了一下:

得到的數值進行ASCII 轉換如下

解密得到內容使用腳本得到flag 如下:

Flag{d_with_a_template_phew}

 

PDF 下載:http://www.o2oxy.cn/wp-content/uploads/2018/08/China-H.L.B-網鼎杯部分WriteUp.pdf

 

 

 


免責聲明!

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



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