RM2MP3溢出漏洞報告【分析篇】

版本:2.7.3.7000

工具:OllyDbg1.1

環境:win7 sp1 x86

時間:2016.12.22


一.收集信息

       •1.因爲是讀取文件時出現的問題,所以可能用到的API函數:CreateFileA/W
       •2.準備之前的利用漏洞的m3u文件

二.下斷點

       •1.CreateFileACreateFileW函數的斷點
            
       •2.最後我們在CreateFileW函數下斷了下來
      

三.堆棧回溯
•1.找到調用地點和返回錯誤地點:
•2.函數開頭:
•3.函數結尾:


四.找到返回地址

      •1.找到返回地址的堆棧地址,下個內存寫入斷點
           
      
      •2.找到了第一改變返回地址的地方:

5.關鍵點
找到另一處改變返回地址的地方,這次是最關鍵的,因爲這是我們寫的jmp esp的地址:



結論:

1.溢出的原因就是寫入的時候沒有檢查堆棧的邊界,以致破壞了原來的堆棧。
2.再者,函數開頭和返回之前有都有0x8918這個數字,而且我們寫的m3u也是在0x8918附近出現問題的,推斷應該是作者設計的m3u文件的最大大小,但是沒有做最大判斷,以至於文件過大,影響了後來的操作。
3.推薦使用安全版函數strcpy_s等等保證邊界不溢出。

附原程序下載地址:

鏈接:http://pan.baidu.com/s/1c2Midc0 密碼:z690

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章