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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

(Pwn)CTF工具 ROPgadget 的安装与使用介绍

發(fā)布時間:2025/3/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (Pwn)CTF工具 ROPgadget 的安装与使用介绍 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一. 介 紹

使用此工具,您可以在二進制文件中搜索Gadgets,以方便您對ROP的利用。


隨著 NX 保護的開啟,以往直接向?;蛘叨焉现苯幼⑷氪a的方式難以繼續(xù)發(fā)揮效果。攻擊者們也提出來相應(yīng)的方法來繞過保護,目前主要的是 ROP(Return Oriented Programming),其主要思想是在棧緩沖區(qū)溢出的基礎(chǔ)上,利用程序中已有的小片段 (gadgets) 來改變某些寄存器或者變量的值,從而控制程序的執(zhí)行流程。所謂 gadgets 就是以 ret 結(jié)尾的指令序列,通過這些指令序列,我們可以修改某些地址的內(nèi)容,方便控制程序的執(zhí)行流程。

我們知道x86都是靠棧來傳遞參數(shù)的而x64換了它順序是rdi, rsi, rdx, rcx, r8, r9,(這里6個寄存器可以被理解為Gadgets)如果多于6個參數(shù)才會用棧我們要先知道這個特性.

有的題,里面既沒有現(xiàn)成的system也沒有/bin/sh字符串,也沒有提供libc.so給我們,那么我們要做的就是想辦法泄露libc地址,拿到system函數(shù)和/bin/sh字符串;

我們就需要獲取rdi, rsi, rdx, rcx, r8, r9它們的地址,首先要獲取的是rdi的地址;

這就是 ROPgadget 的作用;

二. ROPgadget工具的安裝

# 先安裝Capstone,它是一個輕量級的多平臺架構(gòu)支持的反匯編架構(gòu)。 sudo apt-get install python-capstone# 下載好ROPgadget解壓,并進入文件夾中 python setup.py install

三.工具的使用

64位匯編傳參,當參數(shù)少于7個時, 參數(shù)從左到右放入寄存器: rdi, rsi, rdx, rcx, r8, r9。 當參數(shù)為7個以上時,
前 6 個與前面一樣, 但后面的依次從 “右向左” 放入棧中,即和32位匯編一樣。

一.
命令: ROPgadget --binary 文件名 --only "pop|ret" | grep rdi
命令: ROPgadget --binary 文件名 --only "pop|ret" | grep rsi


或者

命令: ROPgadget --binary 文件名 --only "pop|ret"

二.

該工具除了可以用來查找 ret/rdi的地址,還可以用來查找一些字符串的地址

命令: ROPgadget --binary 文件名 --sting '/bin/sh'

命令: ROPgadget --binary 文件名 --sting '/sh'

命令: ROPgadget --binary 文件名 --sting 'sh'

命令: ROPgadget --binary 文件名 --sting 'cat flag'

命令: ROPgadget --binary 文件名 --sting 'cat flag.txt'

總結(jié)

以上是生活随笔為你收集整理的(Pwn)CTF工具 ROPgadget 的安装与使用介绍的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。