91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

緩沖區溢出-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

宁化县| 江口县| 辽阳县| 库车县| 溧阳市| 呼玛县| 和田县| 师宗县| 衡山县| 昆山市| 桐梓县| 台州市| 邛崃市| 新巴尔虎右旗| 东源县| 成安县| 鄂州市| 栾城县| 寻乌县| 成都市| 泸西县| 长治市| 桓台县| 郓城县| 潍坊市| 扎鲁特旗| 阜南县| 厦门市| 忻州市| 惠水县| 高安市| 抚宁县| 重庆市| 什邡市| 柳河县| 南通市| 海淀区| 孟津县| 台南县| 崇左市| 宿松县|