日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
緩沖區(qū)溢出實戰(zhàn)教程系列(一):頭籌緩沖區(qū)溢出小程序

在安全圈里我們會經(jīng)常聽到或用到一些0day漏洞,在印象里我們都覺的只有真正的大神才能挖掘到這樣的漏洞,事實也的確如此。不過也不要被嚇到,其實大部分的0day是緩沖區(qū)溢出漏洞演化而來,只要我們了解了緩沖區(qū)溢出原理,假以時日也可以自己挖掘出0day漏洞。

由于是本系列的開篇,所以不給大家講解過多的原理,今天先讓大家直觀感受一下什么是緩沖區(qū)溢出,讓各位有一個初步的認(rèn)識,閑話少敘,讓我們開始。

給大家一段c語言編寫的代碼,大家在DEV中編譯執(zhí)行一下:

 
 
 
 
  1. #include  
  2. #include      
  3. char name[] = "kalikingkalikingkaliking" ;     
  4. int main() 
  5.  char buffer[8]; 
  6.  strcpy(buffer, name); 
  7.  printf("%s\n",buffer); 
  8.  getchar(); 
  9.  return 0; 
  10. }

在win7中會出現(xiàn)以下報錯,如圖所示:

有一點c語言基礎(chǔ)的人就不難看出問題所在,在程序中我們要把變量name的值拷貝給變量buffer,但我們分配給變量的空間只有8個字節(jié),而name的長度遠(yuǎn)遠(yuǎn)大于8個字節(jié)。這就導(dǎo)致系統(tǒng)原本分配的空間不足而占用了本來用于存儲程序返回地址的空間,導(dǎo)致程序無法正常運行。

今天先不講原理,先講講分析緩沖區(qū)溢出必備的幾款軟件:

1. Dev-C ++是一個免費的全功能集成開發(fā)環(huán)境(IDE),分布在GNU通用公共許可證下,用于 C和C ++編程。它是用Delphi編寫的。

免費下載地址:://sourceforge.net/projects/orwelldevcpp/files/latest/download

2. OllyDbg(以其作者Oleh Yuschuk命名)是一個強(qiáng)調(diào)二進(jìn)制代碼分析的x86調(diào)試器。

免費下載地址:http://www.ollydbg.de/odbg201.zip

3. IDA(Interactive Disassembler)是反匯編為計算機(jī)軟件,其生成匯編語言源代碼從機(jī)器可執(zhí)行代碼。它支持多種可執(zhí)行文件格式為不同的處理器和操作系統(tǒng)。它還可以用作Windows PE,Mac OS X Mach-O和Linux ELF可執(zhí)行文件的調(diào)試器。

免費版下載地址:https://www.hex-rays.com/products/ida/support/download_freeware.shtml

接下來介紹一下三個軟件的基本使用方法:

在這里只介紹在程序分析過程中常用的方法,其余的詳細(xì)使用教程請自行Google

1. Dev c++的使用方法:

(1) 新建源代碼文件

由于我們編寫的源代碼,只為了了解緩沖區(qū)溢出的原理,所以不必過于復(fù)雜,我們只需要新建個源代碼文件就可以了,沒必要創(chuàng)建項目文件。

把我們上邊的示例代碼拷貝進(jìn)去,保存與其他編輯器無異,ctrl+s就ok,我習(xí)慣保存成c文件,這個大家隨意。

(2) 編譯運行:

編譯運行就很簡單了,點擊工具欄最上方的運行,接著在下拉菜單中找到編譯和運行,點擊:

這時候會看到文件夾中多了一個exe文件這就是我們要用來調(diào)試的程序:

(3) 調(diào)試和查看匯編代碼

這個是比較重要的一步,因為在編寫shellcode的時候會用到,這里只講用法,如何提取shellcode以后再講。

首先設(shè)置斷點,選擇設(shè)置斷點的行,可以再前面行標(biāo)出單擊也可以按F4,當(dāng)行標(biāo)處出現(xiàn)紅點說明斷點設(shè)置成功。

然后開啟調(diào)試模式,我們點擊下方選項卡里的調(diào)試,接著點擊調(diào)試按鈕。

接著點擊查看CPU窗口:

我們就會看到匯編代碼界面:

dev c++幾個重要用法已經(jīng)說完了,還要跟大家說一下如何解決安裝使用過程中經(jīng)常會出現(xiàn)zlib2.dll文件丟失的問題。

解決辦法如下:

a. 下載zlib1.dll:

http://www.pc6.com/softview/SoftView_81060.html

b. 解壓后放到系統(tǒng)目錄中

  • 32位系統(tǒng):放到C:\Windows\System32\(此處為系統(tǒng)目錄)
  • 64位系統(tǒng):放到C:\Windows\SysWOW64\

為了不使篇幅過長,其余兩個軟件使用方法我將在下一篇文章中進(jìn)行講解。


網(wǎng)頁標(biāo)題:緩沖區(qū)溢出實戰(zhàn)教程系列(一):頭籌緩沖區(qū)溢出小程序
標(biāo)題來源:http://www.dlmjj.cn/article/dpghcdo.html