DownUnderCTF 2022 - babyp(y)wn
문제 링크 : https://play.duc.tf/challenges#babyp(y)wn-34
사실 시간내에 풀지는 못했다 ..
아직 드림핵 강의도 다 못 들은 상태라 이해도가 거의 없는 수준이기도 했고..ㅎ
CTF 마감되기 전까지 붙잡아보긴 했는데 실패함,,
뭐라도 도전해보려고 web에 있는 Treasure Hunt 풀다 말았다 . . .
~ 아래부터는 푸는 과정 ~
첨부되어 있는 파이썬 파일을 열어보니 해당 내용을 확인 가능했다
대충 봤을때 c_buffer(512)라고 써져있길래
오버플로우 일으키는 문제라고 생각했음..
코드 보니까 buf2에 오버플로우 일으키고 거기에 DUCTF가 포함되어 있으면 플래그를 보여주는거 같아보임
커맨드 창에서 buf2에 512만큼 아무거나 넣어주면 될것같은데
근데... 리눅스에 너무 무지한 나머지 이걸.. 뭐 어떻게 내용을 삽입하고.. 하는지 모르겠어서
열심히 구글링 하다가 CTF시간이 끝나버렸다 . . .
+ 오후 7:32 추가 내용 +
구글링 하면서 파이썬으로 프로그램에 입력값을 넣어주는 방법을 찾아냈음!
참고한 블로그 : https://kaspyx.tistory.com/77
해당 문제는 gets()를 사용하고 있어서
python -c "print ( 'a' * 512 + 'DUCTF' )" 명령어를 입력했음
근데 flag.txt 파일이 없다길래 touch 명령어로 flag.txt를 만들어줬다
제대로 입력한것 같은데 아무것도 없어서 블로그 글 내려보니까
nc 명령어 사용해서 네트워크 소켓으로 넘겨주는게 있었다.
문제에 nc 2022.ductf.dev 30021 사용하라는게 있어서
사용했더니 flag를 확인할 수 있었다.
나중에 flag.txt 파일 찾아보니까 아무 내용도 안 써져있어서
딱히 flag.txt를 따로 만들 필요는 없었던 문제인것 같다....ㅎ