iT邦幫忙

2023 iThome 鐵人賽

DAY 22
0

前言

今天準備好了 Ubuntu 的環境來解題,題目是 Hackme CTFhelloworld

在開始之前

因為我是在 Windows 環境安裝 WSL 來執行題目,不過裝起來的環境似乎沒有辦法直接執行這題的檔案,會有 No such file or directory 之類的錯誤。

file 了一下發現這個檔案是 ELF 32-bit,而要在 64-bit 的 Ubuntu 執行 32-bit 的執行檔,需要新增 32-bit 架構並安裝一些 library,步驟如下:

  1. dpkg --add-architecture i386
  2. apt update
  3. apt install libc6-i386

完成之後應該就可以執行了!

Write-up

首先還是先執行看看:
https://ithelp.ithome.com.tw/upload/images/20231006/20162615idurgTLl1r.jpg

一樣是猜數字的類型,然後我們把執行檔丟進 Ghidra 看看:
https://ithelp.ithome.com.tw/upload/images/20231006/20162615yPFbJCbFLZ.jpg

首先右鍵把 local_18 重新命名成 guess_num 方便閱讀,再右鍵把 0x12b9b0a1 轉成 decimal,會變成 314159265
https://ithelp.ithome.com.tw/upload/images/20231006/20162615zw2p6NEf5Y.jpg

再往後看,顯然 local_35 就是 flag,我們也把它改名:
https://ithelp.ithome.com.tw/upload/images/20231006/20162615mw1pMVZhe7.jpg

看起來,31~33 行應該就是在計算 flag,所以我們應該把 314159265 拿來輸入就可以解開:
https://ithelp.ithome.com.tw/upload/images/20231006/20162615qW3VUr4yrg.png

成功通關,怎麼覺得跟昨天那題很像 XD

後記

這次好像都選到比較新手向的題目,雖然我本來就是新手,不過要重找一題好像也來不及。不管怎麼樣,Reverse 的環節就到這邊了,後面幾天應該會寫 Pwn 的東西 (?)


上一篇
Day 21. Reverse - 實戰(上)
下一篇
Day 23. Pwn - 複習組合語言
系列文
進了資安公司當後端 RD 才入門資安會不會太晚了30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言