아임노드

[OverTheWire Bandit] Bandit Level 30 -> Level 31 문제풀이 (+git reference, tag) 본문

[SK shieldus Rookies 23기] 공부 노트/OverTheWire Bandit 문제풀이

[OverTheWire Bandit] Bandit Level 30 -> Level 31 문제풀이 (+git reference, tag)

Noody 2024. 12. 26.

OverTheWire Bandit

Level 30 -> Level 31

 

 

목표 : git 저장소에서 사용 가능한 참조(reference)를 통해 패스워드 찾기

 

  • git 참조(reference) 확인하기
  • git tag 목록 확인하기

 

풀이 방법

 

1. bandit30 서버 접속

ssh bandit30@bandit.labs.overthewire.org -p 2220

 

 

2. 접속 및 git clone 부분 동일하게 참고

 

[OverTheWire Bandit] Bandit Level 27 -> Level 28 문제풀이 (+git clone)

OverTheWire BanditLevel 27 -> Level 28  목표 : Git 리포지토리를 클론하고, 리포지토리 내에 저장된 패스워드를 찾기 쓰기 권한이 가능한 디렉토리 생성git 리포지토리 클론repo 파일 확인 풀이 방법  1.

imnode.tistory.com

 

파일 안엔 별도 힌트가 없다. 므아하하..?

 

 

3.  git 참조(reference) 확인하기

마찬가지로 git 명령어를 잘 알고 있다면 쉽게 풀 수 있는 문제다.

이전 Level 28 -> Level 29 문제풀이에서 commit의 세부사항을 확인해보는 명령어로 git show를 사용했는데

여기서 좀 더 응용해서 git show-ref 를 사용하도록 한다.

간단하게 보자면, 'show(보여준다) + -ref(참조(reference)를' 이라는 형식이다.

git show-ref

Git 저장소 안에 어떤 "중요한 이름표(참조)"들이 있는지, 그리고 그 이름표들이 정확히 어떤 커밋을 가리키고 있는지 알려주는 명령어

 우리가 프로그래밍 언어를 배울 때 볼 수 있는 '포인터'의 개념과 같다고 볼 수 있다.

 

git show-ref로 git의 모든 참조를 확인해보니 secret이라는 의심스러운 파일이 있다.

다시 show를 통해 secret의 세부정보를 나타내보인다.

바로 다음 패스워드를 확인할 수 있었다.

 


 

***

git show-ref를 해보니 /tags/secret으로 되어 있다.

이럴 경우 git tag라는 명령어를 통해서도 모든 태그이름을 확인할 수 있다.

이런 식으로도 접근이 가능하다.