91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

汝阳县| 蓬莱市| 繁峙县| 安图县| 会昌县| 乌海市| 武定县| 闵行区| 横山县| 阜平县| 公安县| 仁寿县| 南涧| 姜堰市| 宜春市| 岑溪市| 屯昌县| 长沙市| 赤壁市| 潮安县| 溆浦县| 芦溪县| 苍山县| 长宁区| 林西县| 囊谦县| 泾川县| 梁河县| 黄冈市| 襄垣县| 洛川县| 西平县| 大庆市| 沿河| 盐源县| 诏安县| 额济纳旗| 石门县| 温泉县| 北碚区| 邻水|