EasyRMtoMP3Converter.exe 棧溢出無果之因

    近日開始學起了漏洞挖掘&分析,隨着《Exploit 編寫系列教程》來學習,首先第一章有關EasyRMtoMPConvert.exe的棧溢出,用mona來產生pattern定位時,發現個人ret_eip在26084偏移處,而教程中ret_eip在26094偏移處,開始沒太上心。後面動態調試,探究了一下它的溢出過程,有以下發現shell

  1. 左邊的地址標籤表明分配空間的順序,依次從底向上分配4914h,8918h字節空間;
  2. 以後第一次從文件中讀取前400h字節到000FF748處,第二次將文件路徑與文件內容組合起來複制到000F9128處(以00結尾),第三次再將000F9128處的內容複製到000F6E20處。
  3. 最後,收回8914h字節的棧空間並retn 4,此時000FF728處的內容已經被第二次000F9128複製覆蓋了,因此這才使得咱們可以棧溢出。可是,由於這次複製帶有文件路徑,因此沒法肯定文件中固定偏移內容會處於000F728處,這也致使了咱們的溢出沒法隨機產生。                                

    思考:當時有想用01010101之類重複單字節內容來覆蓋ret eip,以控制eip到shellcode,但是01010101處太遠而且與當前棧不在同一段...(各位師傅若有好方法,請不吝賜教~~~)學習

相關文章
相關標籤/搜索