亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Bugku_逆向_Love

發布時間:2020-06-29 12:33:19 來源:網絡 閱讀:1006 作者:Trut104 欄目:安全技術

https://ctf.bugku.com/challenges#love

下載文件后運行一下看看
Bugku_逆向_Love
隨便輸入個123看看
Bugku_逆向_Love
解題思路:
很常見的程序流程,就是輸入字符串與程序里的字符串對比,來輸出結果,這時候我們有兩種選擇。
1.寫個腳本來爆破。這是沒有辦法的辦法,效率極低且不可靠,在某些情況下是唯一的辦法,但在這道題沒有必要,所以舍棄。
2.使用軟件來調試程序代碼,或直接反編譯程序獲得源碼,在這里我用OllyDbg來調試程序。
解題流程:
拿到文件先來查殼
Bugku_逆向_Love
無殼,就是普通的c++編譯的文件,使用OllyDbg打開文件
Bugku_逆向_Love

沒有什么頭緒,右鍵選擇 中文搜索引擎->3.智能搜索
Bugku_逆向_Love
其中有幾條很眼熟
Bugku_逆向_Love

這不就是我們輸入字符串后提示的字符串嗎,點進去看看

Bugku_逆向_Love
可以看到1035840處有一個跳轉,根據1035842壓棧的字符串來推斷,1035847調用的函數是類似于printf的函數,也就是說1035840處的跳轉決定了輸出的是”wrong flag”還是”right flag”,我們繼續向上看,尋找是什么控制關鍵跳轉的執行。很明顯,在103582e處調用了strncmp函數,而在其上,壓入了一個奇怪的字符串進棧,根據開頭猜的程序功能,要么,這就是程序想要我們輸入的字符串。要么,是把我們輸入的字符串加密后對比的字符串。而strncmp的結果就決定了關鍵跳轉的執行與否。我們在strncmp處下一個斷點,運行程序,輸入1234567890。
Bugku_逆向_Love
對比棧里的數據可以得出,ecx中存儲的是我們輸入的字符串加密后的字符串,eax中存儲著要對比多少個字符,那我們繼續向上翻,找找是什么把我們輸入的字符串(即ecx)加密。
Bugku_逆向_Love
在其上不遠,我們就發現了一段很可疑的代碼,我們在10357d0處下一個斷點,重新運行程序,再次輸入1234567890
Bugku_逆向_Love

運行到斷點后,查看ebp-0xac附近的內存空間,發現了一段base64代碼
Bugku_逆向_Love

也就是我們輸入的字符串

分析這段加密代碼
Bugku_逆向_Love

然后通過這段匯編代碼和被對比字符串 “e3nifIH9b_C@n@dH” 來構造python腳本
Bugku_逆向_Love
得到flag
Bugku_逆向_Love
End

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

霍山县| 南召县| 仁布县| 遂昌县| 乳山市| 固镇县| 冀州市| 大城县| 麦盖提县| 广汉市| 吉安市| 阜宁县| 青河县| 星子县| 桑日县| 永清县| 吉安县| 姚安县| 绥芬河市| 钦州市| 黎平县| 英吉沙县| 秦皇岛市| 永康市| 翼城县| 舒城县| 桦南县| 友谊县| 门头沟区| 阜平县| 宁蒗| 永仁县| 青州市| 依兰县| 高台县| 醴陵市| 阿鲁科尔沁旗| 喀什市| 义马市| 萨迦县| 泽州县|