[PWN][高级篇]利用ROP-ret2Syscall突破NX保护(上)

简介: [PWN][高级篇]利用ROP-ret2Syscall突破NX保护

利用ROP-ret2Syscall突破NX保护

大家还记的之前说过的ret2text漏洞吗,那是利用依赖于程序中的存在,执行system(’/bin/sh’)的函数,如果没有这个函数的话,我们怎么办呢?


我们使用ret2shellcode是自定义shellcode代码,但是这中方法的局限性是程序没有开启NX保护,那么如何程序开启了NX保护,这个时候我们就要使用Ret2Syscall大法了!!!!


什么是ROPGadgets?

是在程序中的指令片段,有时我们为了到达我们执行命令的目的,需要多个Gadget来完成我们的功能。Gadget最后一般都有ret,因为要将程序控制权(IP)给下一个Gadret

1.png

image.png

NX保护开启了

1.png

image.png

1.png

下一步要组合shellcode

系统调用号 eax = 0xb

第一个参数 ebx /bin/sh

第二个参数和第三个参数应该都是 0

image.png

ROPgadget --binary ./ret2syscall --only "pop|ret" | grep "eax"

image.png

我们选用0x80bb196

image.png

image.png

image.png

这些就是我们要使用的指令片段了

image.png

exp如上!

image.png

调试!!

image.png

相关文章
|
4月前
|
安全 前端开发 rax
PWN练习---Stack_2
PWN练习---Stack_2
73 0
|
6月前
|
网络协议 安全 Ubuntu
PWN练习---Stack_1
PWN练习---Stack_1
111 3
|
7月前
汇编指令学习(CALL,JMP,RET)
汇编指令学习(CALL,JMP,RET)
115 0
|
7月前
汇编指令学习(CMP,TEST)
汇编指令学习(CMP,TEST)
154 0
|
NoSQL 安全 Shell
简单的PWN学习-ret2shellcode
最近在学习pwn,这是一道2016年的pwn题目,主要学习关于栈溢出以及劫持栈指针达到命令执行的效果,笔者水平较差,请轻喷
|
前端开发 rax Shell
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)(上)
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)
829 0
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)(上)
|
NoSQL Shell
[PWN][高级篇]利用ROP-ret2Syscall突破NX保护(下)
[PWN][高级篇]利用ROP-ret2Syscall突破NX保护
139 0
[PWN][高级篇]利用ROP-ret2Syscall突破NX保护(下)
[PWN][高级篇]ROP-ret2libc基础知识
[PWN][高级篇]ROP-ret2libc基础知识
489 0
[PWN][高级篇]ROP-ret2libc基础知识
|
NoSQL Shell
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)(下)
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)
290 0
[PWN][高级篇]ROP-ret2libc-32/64位实例 (共四个)(下)
|
安全 Shell Linux
[PWN][进阶篇]ROP_Ret2Shellcode-32实例(上)
[PWN][进阶篇]ROP_Ret2Shellcode-32实例
207 0
[PWN][进阶篇]ROP_Ret2Shellcode-32实例(上)

热门文章

最新文章