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