亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

緩沖區溢出-canary保護

發布時間:2020-07-20 12:57:38 來源:網絡 閱讀:400 作者:Margin_51cto 欄目:安全技術

本文視頻:
????????? 如果文字過于枯燥,可觀看在線視頻:https://edu.51cto.com/sd/16514

基礎知識:

??????? 我們知道在32位操作系統上,主要是溢出棧緩沖區,覆蓋函數返回地址來達到劫持程序的木的,那么Linux為了防御該問題,使用了canary來保護函數的返回地址。

canary保護是Linux眾多保護機制的一種,主要的作用是防御溢出***。他的工作原理是在函數執行時,取gs:0x14的值放到某一位置中,我們假設叫A,那么在程序執行結束后,把A位置的值和gs:0x14的值進行異或如果結果為0說明沒有被修改,否則被修改了。

下面我們來通過代碼來查看效果

首先我們不使用canary防護:gcc -m32 -o0 canary.c -o canary

緩沖區溢出-canary保護

使用canary防護:gcc -fstack-protector-all -m32 -o0 canary.c -o canary

緩沖區溢出-canary保護

在截圖中標紅的是我們加入-fstack-protector-all帶來的效果,在開頭取gs:0x14的數據保存到ebp-exc的位置

第二個標紅的地方是講ebp-0xc位置的數據拿出來和gs:0x14的值進行比對,如果想要更改函數返回地址的值,必須要先覆蓋canary的值,而canary的值是隨機的,所以如果沒有辦法獲取到canary的值,是沒有辦法做到溢出***的。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平原县| 民县| 长丰县| 尚义县| 安义县| 吉隆县| 娱乐| 西吉县| 集贤县| 静安区| 综艺| 温泉县| 城口县| 二连浩特市| 塔河县| 教育| 华宁县| 安达市| 天峻县| 咸丰县| 抚远县| 南川市| 图木舒克市| 资中县| 托克逊县| 衡阳县| 固阳县| 马鞍山市| 蒙山县| 贵德县| 阿克苏市| 保定市| 四子王旗| 于都县| 嘉定区| 当阳市| 林州市| 抚州市| 花莲县| 确山县| 霞浦县|