中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

和龙市| 行唐县| 北票市| 新宁县| 卓尼县| 通化市| 天长市| 辽宁省| 英德市| 郯城县| 阿克苏市| 大名县| 福泉市| 定襄县| 萝北县| 秦皇岛市| 伊宁市| 宜州市| 虎林市| 维西| 车险| 郑州市| 亚东县| 潮州市| 临沭县| 会同县| 长汀县| 太仆寺旗| 双桥区| 牟定县| 泗水县| 延长县| 邢台市| 麟游县| 景泰县| 璧山县| 南召县| 闸北区| 泰来县| 逊克县| 乐都县|