힌트를 보니 이런 내용이 있다.

공유 메모리를 이용해서 코딩을 해서 푸는 방법인것같다.


다음과 같이 구글링을 통해 관련 함수를 찾아가며 코딩을 하였다.

컴파일 후 실행시켜 패스워드를 알아내었다.


Flag : what!@#$?

'IT > FTZ' 카테고리의 다른 글

[FTZ] level12  (0) 2016.07.10
[FTZ] level11  (0) 2016.07.10
[FTZ] level9  (0) 2016.07.10
[FTZ] level8  (0) 2016.07.10
[FTZ] level7  (0) 2016.07.10

다음 소스가 나왔다. 먼저 코드를 분석하면,

buf와 buf2의 선언과 40바이트 이하의 크키를 입력받아서 buf에 저장하고

buf2의 2바이트값이 go와 비교해서 같다면 printf로 굳스킬이라는 메세지를 띄운 후 bash쉘을 실행시켜주는 프로그램이다.

따라서 저 소스에 buf와 buf2의 거리를 구하는 코드를 짰다.

이것을 실행 시켜보니 두 주소값이 나왔고, 이 값을 뺀 결과 16이라는 값이 나왔다.

따라서 16번째와17번째가 buf2의 2바이트인것을 알 수있다.

Flag : interesting to hack!

'IT > FTZ' 카테고리의 다른 글

[FTZ] level11  (0) 2016.07.10
[FTZ] level10  (0) 2016.07.10
[FTZ] level8  (0) 2016.07.10
[FTZ] level7  (0) 2016.07.10
[FTZ] level6  (0) 2016.07.09

힌트를 보니 이런 내용이 나온다

용량이 2700인 파일을 검색해본 결과


/etc/rc.d/found.txt 에 있 level9의 shadow 파일이 있다는 것을 알았다.


  1 : 사용자명 
  2 : 패스워드 
  3 : 패스워드 파일 최종 수정일 
  4 : 패스워드 변경 최소일 
  5 : 패스워드 변경 최대일 
  6 : 패스워드 만료 경고 기간 
  7 : 패스워드 파기 기간 (패스워드 파기 후 계정 비활성 기간) 
  8 : 계정 만료 기간 
  9 : 예약 필드 


이라고 한다. 따라서 2번째 필드에 있는것이 암호부분이고, 이 내용들을 텍스트파일로 저장하여 '존 더 리퍼'로 돌려보았다.




Flag : apple

'IT > FTZ' 카테고리의 다른 글

[FTZ] level10  (0) 2016.07.10
[FTZ] level9  (0) 2016.07.10
[FTZ] level7  (0) 2016.07.10
[FTZ] level6  (0) 2016.07.09
[FTZ] level5  (0) 2016.07.09

+ Recent posts