메인함수의 모습이다
stage별로 나와 있다.
stage1 에서의 조건은 디코딩을 했을때의 문자열은 같은데
인코딩했을때의 문자열을 달라야 한다.
그래서 base64 충돌을 이용해서 stage1을 통과할수 있었다.
TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oig=
TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oii=
TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oih=
TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oij=
stage2 의 조건은 input을 2번받는데
input에서받는 두 문자열의 디코딩결과값은 같아야하는데
문자열의 길이는 달라야했다.
TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oig==
TjBfbTRuX2M0bDFfYWc0aW5fWTNzdDNyZDR5Oig=
저 두 문장을 사용하여 stage2를 통과하게 되었다.
stage3에서는 팀원이 알려주었는데
엄청난 꿀팁이였던것같다.
head * 를 encode해서 입력하는것이다.
head명령어는 파일앞부분부터 확인하는 명령어입니다.
또 다른 방법으로는 커맨드인젝션으로 풀 수 있다고 한다.
커맨드인젝션을 공부해서 한번 stage3를 다시 풀어보겠다.
codegate서버가 닫혀서 플래그가 제대로 뜨지않았다.
다음에는 서버가 열려잇을때...
'Wargame - 고등학교 시절 가독성 주의 부탁드립니다.) > CTF' 카테고리의 다른 글
TamuCTF pwn1 (0) | 2017.04.22 |
---|---|
FIT-HACK CTF Connect 150 (0) | 2017.04.14 |
EasyCTF (0) | 2017.03.22 |
EasyCTF Forensic - ManeEvent (0) | 2017.03.22 |
EasyCTF WEB - CookieBlog (0) | 2017.03.22 |