hangman,離pwn大佬越來越遠了
VSole2021-10-15 14:38:32
每周五固定節目又來了!今天給大家帶來的是第四題,本題為PWN題型。
僅一周過去,我們從夏天跨到了冬天,沒有過渡,已經在找秋褲了。為了防止腦子被凍住,趕緊找一道題來做做。
首先來了解一下格式化字符串,格式化字符串函數可以接受可變數量的參數,并將第一個參數作為格式化字符串,根據它來解析之后的參數。通俗來說,格式化字符串函數就是將計算機內存中表示的數據,轉化為我們人類可讀的字符串格式。
本題就需要我們利用格式化字符串漏洞泄露和修改棧上的數據。拿到題先查看基本信息,可知本題是一道64位的程序,并且是動態鏈接的,保護全開。所以解題思路大致如下:先用IDA靜態分析理出代碼邏輯,程序中沒有后門函數,雖然有點難受,但題目給了我們一個libc,所以可以用工具查找one_gadget基于libc基地址的偏移,然后計算出one_gadget的真實地址,從而利用格式化字符串漏洞將返回地址修改為one_gadget的地址,達到getshell的目的。
解題過程中涉及到多次地址計算,各位做實驗的時候一定要配合視頻食用,理解會更清晰。最后還是建議大家平時不要跳躍式學習,基礎知識的堆砌是對未來拓寬知識面打下的前陣,就像學會一門編程語言之后學習其他語言也會變得更容易上手,同一領域的知識都是共通的,所以聽君一句勸“學海無涯,回頭是岸”。
VSole
網絡安全專家