堆棧的概念: 堆棧是一種人為設(shè)置的計算機軟件模塊裝置,它能夠向里面壓 入數(shù)據(jù),也能彈出數(shù)據(jù),但必須遵循后進(jìn)先出原則。
舉例1:家里吃飯的碗,通常在洗干凈后一個一個地落在一起 存放,在使用時,若一個一個地拿,一定最先拿走最上面的那只 碗,而最后拿出最下面的那只碗。
舉例2:在建筑工地上,使用的磚塊從底往上一層一層地碼放, 在使用時,將從最上面一層一層地拿取。 后進(jìn)先出(Last In First Out),簡稱為LIFO線性表。
舉例3:手槍、沖鋒槍、機關(guān)槍的子彈匣的子彈裝填,先裝進(jìn) 的子彈后射出。 特征:后進(jìn)先出?;蛘哒f,先產(chǎn)生的數(shù)據(jù)后被取用。
網(wǎng)頁堆棧溢出通常是:網(wǎng)頁木馬通過向程序的緩沖區(qū)(堆、棧等)中寫入超出其長度的數(shù)據(jù),造成緩沖區(qū)溢出。
緩沖區(qū)的溢出可以破壞程序執(zhí)行流程,使程序轉(zhuǎn)向執(zhí)行其它指令。利用緩沖區(qū)溢出可以達(dá)到攻擊主機的目的。
緩沖區(qū)溢出是指:當(dāng)計算機向緩沖區(qū)內(nèi)填充數(shù)據(jù)位數(shù)時超過了緩沖區(qū)本身的容量溢出的數(shù)據(jù)覆蓋在合法數(shù)據(jù)上,理想的情況是程序檢查數(shù)據(jù)長度并不允許輸入超過緩沖區(qū)長度的字符,但是絕大多數(shù)程序都會假設(shè)數(shù)據(jù)長度總是與所分配的儲存空間相匹配,這就為緩沖區(qū)溢出埋下隱患。 操作系統(tǒng)所使用的緩沖區(qū) 又被稱為“堆?!?。
在各個操作進(jìn)程之間,指令會被臨時儲存在“堆?!碑?dāng)中“堆棧”也會出現(xiàn)緩沖區(qū)溢出。 目前有四種基本的方法保護(hù)緩沖區(qū)免受緩沖區(qū)溢出的攻擊和影響。
分別是: 編寫正確的代碼,非執(zhí)行的緩沖區(qū),數(shù)組邊界檢查,程序指針完整性檢查。 試試這個 工具一》internet選項一》高級 禁用腳本調(diào)試 親,如果我的回答對您有幫助,請賜個好評吧。
謝謝。
聲明:本網(wǎng)站尊重并保護(hù)知識產(chǎn)權(quán),根據(jù)《信息網(wǎng)絡(luò)傳播權(quán)保護(hù)條例》,如果我們轉(zhuǎn)載的作品侵犯了您的權(quán)利,請在一個月內(nèi)通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習(xí)鳥. 頁面生成時間:2.730秒