緩衝區溢位攻擊的基本原理是什麼?

2023-06-02 03:25:16 字數 2794 閱讀 2435

1樓:老男孩教育

緩衝區溢位攻擊是利用緩衝區溢位漏洞所進行的攻擊行動。緩衝區溢位是一種非常普遍、非常危險的漏洞,在各種作業系統、應用軟體中廣泛存在。利用緩衝區溢位攻擊,可以導致程式執行失敗、系統關機、重新啟動等後果。

緩衝區溢位是指當計算機向緩衝區內填充資料位數時超過了緩衝區本身的容量,溢位的資料覆蓋在合法資料上。理想的情況是:程式會檢查資料長度,而且並不允許輸入超過緩衝區長度的字元。

但是絕大多數程式都會假設資料長度總是與所分配的儲存空間相匹配,這就是為緩衝區溢位埋下隱患。作業系統所使用的緩衝區,又被稱為堆疊,在各個操作程序之間,指令會被臨時儲存在堆疊當中,堆疊也會出現緩衝區溢位。

緩衝區溢位的基本原理是什麼

2樓:諾諾百科

緩衝區溢位的原理:

通過往程式的緩衝區寫超出其長度的內容,造成緩衝區的溢位,從而破壞程式的堆疊,使程式轉而執行其它指令,以達到攻擊的目的。造成緩衝區溢位的原因是程式中沒有仔細檢查使用者輸入的引數。例如下面程式:

void function(char *str) {char buffer[16];

strcpy(buffer,str);

上面的strcpy()將直接吧str中的內容copy到buffer中。這樣只要str的長度大於16,就會造成buffer的溢位,使程式執行出錯。存在象strcpy這樣的問題的標準函式還有strcat(),sprintf(),vsprintf(),gets(),scanf()等。

漏洞:

緩衝區溢位攻擊的目的在於擾亂具有某些特權執行的程式的功能,這樣可以使得攻擊者取得程式的控制權,如果該程式具有足夠的許可權,那麼整個主機就被控制了。一般而言,攻擊者攻擊root程式,然後執行類似「exec(sh)」的執行**來獲得root許可權的shell。為了達到這個目的,攻擊者必須達到如下的兩個目標:

在程式的地址空間裡安排適當的**。

通過適當的初始化暫存器和記憶體,讓程式跳轉到入侵者安排的地址空間執行。

可以根據這兩個目標來對緩衝區溢位攻擊進行分類。

3樓:匿名使用者

上面說的太複雜了。我補一下:資料包當中有個資料位欄位打個比方這個欄位本來只有2個字的容量,我填了3個字進去。這就是溢位。

4樓:匿名使用者

你先弄懂緩衝區!

緩衝器,為暫時置放輸出或輸入資料的記憶體。

緩衝器內資料自儲存裝置(如硬碟)來,放置在緩衝器中,須待機送至cpu或其他運算裝置。

緩衝區(buffer)這個中文譯意源自當計算機的高速部件與低速部件通訊時,必須將高速部件的輸出暫存到某處,以保證高速部件與低速部件相吻合。 後來這個意思被擴充套件了,成為"臨時存貯區"的意思。

5樓:匿名使用者

緩衝溢位是一種系統攻擊的手段,藉著在程式緩衝區編寫超出其長度的**,造成溢位,從而破壞其堆疊,使程式執行攻擊者在程式地址空間中早已安排好的**,以達到其目的。 一般黑客攻擊root程式,然後執行類似exec(sh)的**獲得root的shell. 它造成了兩種嚴重的後果:

1. 覆蓋堆疊的相鄰單元。 使程式執行失敗, 嚴重可導致系統崩潰。

2. 可執行認識指令**,最後獲得系統root特級許可權。

6樓:匿名使用者

大概就是:所有的程式在執行的時候,資料或者指令都是先調進緩衝區,再進入暫存器, 快取區是有大小的, 正常的程式儘量不超出快取區的大小(超出了就會覆蓋掉前邊先進入快取區的指令或資料), 而快取區又是程式設計師可以操作的。這樣就可以用自己的資料和指令故意的超出快取區的大小來覆蓋掉正常的資料和指令 ,從而執行自己別有用心的指令。

緩衝區溢位攻擊的基本流程

7樓:匿名使用者

我一般是這樣做的。

1 尋找系統漏洞。尋找可以照成緩衝區溢位的漏洞。當然這要在你以精確目標,對目標有一定了解的基礎上。

比如目標的作業系統,開啟服務,長駐程式(這個肯定是管理員使用者開啟的程式)。可以網上查,最好別自己去找,這個憑空找,一般比較難,也很麻煩。很多國外的黑客**會公佈最新漏洞,e語不方便國內也有一些,不過國內比較慢。

當然也有一些所謂的工具可以掃描出來,不過除非你沒固定目標攻擊誰都行,否則對固定目標掃描一般沒啥大用。

2 反彙編了漏洞部分**。如果是開源系統或程式,反彙編獲得溢位的棧地址,即呼叫函式後返回的函式指標地址。

這個第一次做會比較難,最好找人指導你一下,當然你也可以找我,免費,不過你要有一定的gdb和組合語言基礎才行。(不用太強,會一點皮毛就行,因為我也強不哪去),當然相當一部分公佈的漏洞這些會隨之公佈。

3 編寫緩衝溢位地址對應的執行**,然後通過緩衝區溢位漏洞把棧內函式返回的地址對應到你這段執行函式上。這個你要之前就寫好。針對你的目的,可以是給自己提權,或者拷貝個檔案什麼的,看你自己愛好了,win 和 linux下用exe系的函式執行shell或直接系統呼叫就行了,反正這時你已經有管理員許可權了。

這類**不想寫網上也有很多且原理非常簡單。

4 掃尾。特別是大**或大公司的伺服器,不想人家發現別忘了把改的東西改回來,當然你可以手動創造一個帶漏洞的程式,然後定時以管理員許可權執行,為下次進入做準備。這樣的程式一般防毒軟體都不是很敏感(只要你別去改人家密碼),定時執行,別讓人家看到程序就行啦。

以上 這個只是最簡單的原理性步驟 高手們會在這個基礎上運用很多高超的技巧 當然具體問題還要因地制宜 這就不是一兩句話能說清楚啦 希望對你有幫助。

請遵守當地法律 不要從事違法活動。

.緩衝區溢位會產生什麼危害?

8樓:匿名使用者

一定幾率造成許可權擴大,導致被入侵。

話術的基本原理是什麼

學語言就像學英文會話 最近有一則學英文的廣告 當老外問路說 臺北車站怎麼走 老中的頭腦馬上出現學生時代為應付所學的文法,然後七想八想一句話也講不出來!你在學推銷的過程是否也有同樣的遭遇呢?以前我學英文會話也有同樣的經驗,後來在生活中有機會與英語系的外國人接觸,從接機 用餐到討論合作細節,單詞一個字一...

開關電源的基本原理是什麼

開關電源原理抄 開關電源實質就襲是一個 振盪電路bai,du這種轉換電能的方式,zhi不僅應dao用在電源電路,在其它的電路應用也很普遍,如液晶顯示器的背光電路 日光燈等。開關源與變壓器相比具有效率高 穩性好 體積小等優點,缺點是功率相對較小,而且會對電路產生高頻干擾,電路複雜不易維修等。開關電源的...

刮痧的基本概念和基本原理是什麼

現代刮痧 以中醫臟腑經絡學說為理論指導,博採鍼灸 按摩 點穴 拔罐等中醫非藥物 之所長,所用工具是水牛角為材料製做的刮痧板,對人體具有活血化瘀 調整陰陽或舒筋通絡 排除毒素等作用,是既可保健又可 的一種自然 刮痧的作用原理 1 調整陰陽刮痧對內臟功能有明顯的調整陰陽平衡的作用,如腸蠕動亢進者,在腹部...