ROP(Return-Oriented Programming,返回导向编程)是一种利用程序已有代码片段来执行任意指令的攻击技术,常用于绕过现代系统的安全机制,尤其是不可执行栈(NX)。
常规检查一下:
32 位程序,小端序,开启了 NX 保护
先用 gdb 测一下偏移:
拿到:
offset = 44
我们 ret2syscall 实际还是希望调用 execve,和 ret2shellcode 类似,只是多了堆栈不可执行
所有我们先找 pop eax;ret 的地址
R
ROP(Return-Oriented Programming,返回导向编程)是一种利用程序已有代码片段来执行任意指令的攻击技术,常用于绕过现代系统的安全机制,尤其是不可执行栈(NX)。
常规检查一下:
32 位程序,小端序,开启了 NX 保护
先用 gdb 测一下偏移:
拿到:
offset = 44
我们 ret2syscall 实际还是希望调用 execve,和 ret2shellcode 类似,只是多了堆栈不可执行
所有我们先找 pop eax;ret 的地址
R