들어가보면 다음과 같이 아무기능이없는 페이지 하나가 나온다. 최근 ctf 풀면서 robots.txt랑 .git은 무조건 확인하고 시작하는게 정신건강에 좋다는걸 깨달아서 두개다 확인해보니 .git 디렉터리가 디렉터리 리스팅 되는걸 확인할 수 있었다.
git을 따로 사용해보지도 않았고 제대로 공부해본적도 따로 없어서 ctf에서 쓸만한 간단한 명령어정도만 알고있는 상태라 이번문제풀면서 제대로한번 사용해보고 공부해봐야겠다고 느꼈다.
일단 지금까지 풀어본 ctf에서 git을 활용하는 측면을 보면 보통 현재 존재하는 파일들의 코드를 분석하기보다는 특정시점에 삭제된 파일들을 포인트로 잡고 복구해서 분석하는 형식이 많았다. 그래서 일단 바로 해당 git디렉터리를 모두 다운로드받은 후 로그를 출력해봤다.
위의 로그를 보면 특정 파일들이 추가된 후에 다시 삭제된 것을 확인할 수 있다. 파일이 추가되고 삭제되기전인 시점으로 돌아가 삭제된 파일들 목록을 일단 살펴봤다.
목록을 보면 3e~디렉터리에 index.php라는 파일이 존재했던걸 볼 수 있었고 해당 디렉터리에 일단 접근을 해봤다.
간단한 로그인화면이 있었고 해당 페이지의 소스를 확인해보기 위해 삭제된 index.php의 내용을 확인해 봤다.
giti show 096a77768a37271151786b67af92c2ca82760dff
코드를 보면 checklogin함수를 통해 입력값 검증을 하는데 아이디는 passwordisinrockyou , password는 crc32를 돌린 후의 값이 550274426이면 되는 걸 알 수 있었다.
패스워드를 구하기 위해 사전파일을 다운받은다음 파이썬 스크립트를 짜서 돌렸다.
요런식으로 패스워드가 나왔고 실제로 로그인해보면 플래그가 나온다.
'CTF > Writeup' 카테고리의 다른 글
su ctf 2014 (Reverse 200) Commercial Application! (0) | 2018.02.13 |
---|---|
SECCON CTF 2015 reverse-engineering-android-apk-1 (0) | 2018.02.12 |
Easy CTF 2018 Nosource, Jr. (0) | 2018.02.11 |
Codegate 2018 Welcome to droid (0) | 2018.02.09 |
Codegate 2018 Simple Cms Write up (0) | 2018.02.04 |