真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

緩沖區(qū)溢出-canary保護(hù)

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

成都創(chuàng)新互聯(lián)公司是一家專(zhuān)業(yè)提供鐵鋒企業(yè)網(wǎng)站建設(shè),專(zhuān)注與成都做網(wǎng)站、成都網(wǎng)站建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)H5建站、小程序制作等業(yè)務(wù)。10年已為鐵鋒眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

基礎(chǔ)知識(shí):

??????? 我們知道在32位操作系統(tǒng)上,主要是溢出棧緩沖區(qū),覆蓋函數(shù)返回地址來(lái)達(dá)到劫持程序的木的,那么Linux為了防御該問(wèn)題,使用了canary來(lái)保護(hù)函數(shù)的返回地址。

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

下面我們來(lái)通過(guò)代碼來(lái)查看效果

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

緩沖區(qū)溢出-canary保護(hù)

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

緩沖區(qū)溢出-canary保護(hù)

在截圖中標(biāo)紅的是我們加入-fstack-protector-all帶來(lái)的效果,在開(kāi)頭取gs:0x14的數(shù)據(jù)保存到ebp-exc的位置

第二個(gè)標(biāo)紅的地方是講ebp-0xc位置的數(shù)據(jù)拿出來(lái)和gs:0x14的值進(jìn)行比對(duì),如果想要更改函數(shù)返回地址的值,必須要先覆蓋canary的值,而canary的值是隨機(jī)的,所以如果沒(méi)有辦法獲取到canary的值,是沒(méi)有辦法做到溢出***的。


當(dāng)前文章:緩沖區(qū)溢出-canary保護(hù)
網(wǎng)址分享:http://weahome.cn/article/jcsdcd.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部