
메인함수의 모습이다
stage별로 나와 있다.

stage1 에서의 조건은 디코딩을 했을때의 문자열은 같은데
인코딩했을때의 문자열을 달라야 한다.
그래서 base64 충돌을 이용해서 stage1을 통과할수 있었다.
TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oig=
TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oii=
TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oih=
TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oij=

stage2 의 조건은 input을 2번받는데
input에서받는 두 문자열의 디코딩결과값은 같아야하는데
문자열의 길이는 달라야했다.
TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oig==
TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oig=
저 두 문장을 사용하여 stage2를 통과하게 되었다.

stage3에서는 팀원이 알려주었는데
엄청난 꿀팁이였던것같다.
head * 를 encode해서 입력하는것이다.
head명령어는 파일앞부분부터 확인하는 명령어입니다.
또 다른 방법으로는 커맨드인젝션으로 풀 수 있다고 한다.
커맨드인젝션을 공부해서 한번 stage3를 다시 풀어보겠다.

codegate서버가 닫혀서 플래그가 제대로 뜨지않았다.
다음에는 서버가 열려잇을때...