buuctf firmware(binwalk和firmware-mod-kit的使用)
生活随笔
收集整理的這篇文章主要介紹了
buuctf firmware(binwalk和firmware-mod-kit的使用)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 題目介紹
- 環境搭配以及文件提取
- firmware-mod-kit工具:[https://blog.csdn.net/ldwj2016/article/details/80712566](https://blog.csdn.net/ldwj2016/article/details/80712566)
- 然后查殼
- 脫殼
- 拖進ida
題目介紹
環境搭配以及文件提取
bin文件,首先用binwalk來提取文件
120200.squashfs這是一個linux的壓縮文件
我們需要firmware-mod-kit工具來進行解壓。
firmware-mod-kit工具:https://blog.csdn.net/ldwj2016/article/details/80712566
# For Ubuntu 需要安裝的依賴庫文件 $ sudo apt-get install git build-essential zlib1g-dev liblzma-dev python-magic git clone https://github.com/mirror/firmware-mod-kit.git # 進入源碼目錄 cd firmware-mod-kit/src # 執行configure文件生成Makefile文件然后make編譯生成可執行文件 ./configure && make把文件放在firmware-mod-kit目錄下進行解壓
進行如下解壓。
./unsquashfs_all.sh fireware/120200.squashfs然后得到目錄
根據題目,他需要找后門軟件,直接find即可
然后查殼
脫殼
拖進ida
題目所要flag為:md5(網址:端口)
搜索字符串:
網址的話也就只有這個。網址:echo.byethost51.com
在主函數中關于連接的代碼的話,也就這里 :
initConnection()函數
58轉化為字符后是":"
進入 initConnection()函數后看到的是端口號為36667,查看一下這個函數,
char *strchr(const char *str, int c)參數str – 要被檢索的 C 字符串。
c – 在 str 中要搜索的字符。
這個函數的意思我覺得是,檢查一下這個網址后面有沒有自帶端口,有的話呢,就把端口值取出來賦給v3,也就是原來我們自己賦的端口值,然后把:這個位置改為0(為什么要把區分網址和端口的位置改為0,我也很好奇);沒有的話呢,就直接跳過
剛才錯了,轉換為字符一看后,就知道了,
它是\0,也就是字符結束標志嘍,然后呢,這個字符串就去掉了端口號,它就會自行去拼接
總結
以上是生活随笔為你收集整理的buuctf firmware(binwalk和firmware-mod-kit的使用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [WUSTCTF2020]level3
- 下一篇: 微信小程序开发(一)