PicoCTF 8번 문제 ( Stonks )
안녕하세요 CowHacker입니다.
https://play.picoctf.org/practice/challenge/105
PicoCTF 8번 문제를 풀어 보겠다.
제목은 스톡! 주식에 관련된 건가 싶다!
이번에도 20 포인트 문제다.
아무도 가지고 있지 않은 것을 시도하다니... 굳이!?
인공지능을 다뤄 봤다니 짜식 좀 치나 보다.
일단 c파일이 첨부된 걸 다운 받았다.
VM에 옮긴 후 C파일을 열어봤다.
제법 긴 코드가 보였다.
다시 문제로 돌아와서
문제에 있는 nc 주소로 접속해보겠다.
어떤 걸 좋아하냐 라는 질문에 두 개의 선택지가 떴다.
나는 주식을 좀 사겠다는 선택을 했다.
어떤 API 주식이 필요하냐길래 그냥 yes 했다.
그냥 주식을 사는 행위가 일어났고
바로 끝이 났다.
코드를 다시 한번 봐야 했다.
저 질문은 main 함수에 있는 내용이었다.
더 내려 보다
저부분..!?
user_buf를 출력해주는 부분이 취약한 부분처럼 보인다.
버퍼를 확인할 수 있다는 구간이지 않나?
나는 user_buf를 확인하기 위해 입력 값에 %x를 넣어 봤다.
음 메모리값인가?
%x%x 두 개를 입력해보니 더 긴 메모리값이 나왔다.
fffff... 스택의 끝이 보였고 그 이후의 값들이 쭉 출력됐다.
flag 같은 값이 보였다.
다 값이 거꾸로 떴는데
엔디안의 방식이 달라서 그런 거다.
다시 _를 써서 값을 구별되게 출력해봤다.
저기 저부분이 아마 flag의 시작점인 거 같다.
값 자릿수가 확 띤다.
저위 사이트에서 엔디안을 변환하여 출력했다.
해결이다.
주 식하면
식 사할때도 보게 될지도?