CTF 🚩/2022

DownUnderCTF 2022 - babyp(y)wn

L_Chae 2022. 9. 25. 22:29

문제 링크 : 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를 따로 만들 필요는 없었던 문제인것 같다....ㅎ