这是一定要的啦逢甲大学课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《这是一定要的啦逢甲大学课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一定要 逢甲大学 课件
- 资源描述:
-
1、Buffer Overflow 原理簡介原理簡介參考資料參考資料:Smashing The Stack Smashing The Stack For Fun And ProfitFor Fun And Profit(By Aleph One)(By Aleph One)逢甲大學資工所平 行 實 驗 室 鍾宜勳Stack的運作方式的運作方式(1/9)pri nt f(“%d”,x);x=1;Funct i on(1,2,3);x=0;i nt x;char buffer15;ret urn;St ack高位址低位址Funct i on()M ai n()xStack的運作方式的運作方式(2/9)
2、pri nt f(“%d”,x);x=1;Funct i on(1,2,3);x=0;i nt x;char buffer15;ret urn;St ack高位址低位址Funct i on()M ai n()0Stack的運作方式的運作方式(3/9)pri nt f(“%d”,x);x=1;Funct i on(1,2,3);x=0;i nt x;char buffer15;ret urn;St ack高位址低位址Funct i on()M ai n()0321Ret urn addressSFPStack的運作方式的運作方式(4/9)pri nt f(“%d”,x);x=1;Funct i
3、on(1,2,3);x=0;i nt x;char buffer12;ret urn;St ack高位址低位址Funct i on()M ai n()321Ret urn addressSFP0buffer11buffer10Stack的運作方式的運作方式(5/9)pri nt f(“%d”,x);x=1;Funct i on(1,2,3);x=0;i nt x;char buffer12;ret urn;St ack高位址低位址Funct i on()M ai n()321Ret urn addressSFP0buffer11buffer10Stack的運作方式的運作方式(6/9)pri n
4、t f(“%d”,x);x=1;Funct i on(1,2,3);x=0;i nt x;char buffer12;ret urn;St ack高位址低位址Funct i on()M ai n()321Ret urn addressSFP0buffer11buffer10Stack的運作方式的運作方式(7/9)pri nt f(“%d”,x);x=1;Funct i on(1,2,3);x=0;i nt x;char buffer12;ret urn;St ack高位址低位址Funct i on()M ai n()0Stack的運作方式的運作方式(8/9)pri nt f(“%d”,x);x
5、=1;Funct i on(1,2,3);x=0;i nt x;char buffer12;ret urn;St ack高位址低位址Funct i on()M ai n()1Stack的運作方式的運作方式(9/9)pri nt f(“%d”,x);x=1;Funct i on(1,2,3);x=0;i nt x;char buffer12;ret urn;St ack高位址低位址Funct i on()M ai n()1Stack向下成長向下成長,Array向上遞增向上遞增.St ack向低位址成長321Ret urn addressSFP0buffer10buffer11Array向高位址成
6、長Stack的成長方向的成長方向,與與Array的成長方的成長方向剛好相反向剛好相反.Array被寫入超過其容量的資料被寫入超過其容量的資料(Buffer Overflow)造成Return Address和SFP被覆寫St ack向低位址成長321Ret urn addressSFP0buffer10buffer11Array向高位址成長正常的情形St ack向低位址成長321Ret urn addressSFP0buffer10buffer11Array向高位址成長過量寫入的情形buffer10buffer11buffer12buffer13Buffer Overflow造成造成Retur
7、n Address不正確不正確可能造成程式Return到隨機的Address去pri nt f(“%d”,x);x=1;Funct i on(1,2,3);x=0;i nt x;char buffer15;ret urn;Funct i on()?Idea 1.利用利用Return Address利用Buffer Overflow可以更改Return Address的特性,透過巧妙的安排,我們可以執行我們想執行的任何程式區段.甚至我們把code放在Stack中,code也可以順利執行.321Ret urn addressSFP0m ovl$0 x8,%ebxm ovl$0 x1,%eaxnop
8、i nt$0 x80由於Return Address被更改,所以程式並不回到程式節區繼續執行,而是執行Stack中的Code.St ack向低位址成長程式執行方向Idea 2.取得取得Root權限的權限的Shell那個被我們Overflow的執行檔,如果它的suid是root的話,那麼我們可以在overflow時,產生一個shell出來,而得到一個有root權限的shell.然後我們就可以為所欲為了.321Ret urn addressSFP0i nt$0 x80St ack向低位址成長程式執行方向RootRootPri vi l egePri vi l egeShel lShel l產生一個
展开阅读全文