Wargame/bandit

[리눅스] Bandit level 30 -> level 31

핏디 2021. 7. 26. 17:35
SMALL

[문제]


[풀이]

/tmp/sik 폴더를 만들어 문제에서 주어진 파일을 다운하였다. 

 

다운한 파일의 repo 폴더 속의 README.md 파일을 확인하니 password에 관한 정보를 얻을 수 없었다.

 

로그와 branch 또한 문제 풀이에 도움이 될만한 정보는 없었다.

 

ls -al로 폴더를 확인해보면 .git 디렉토리가 존재한다.

압축된 태그를 확인하면 refs/tags/secret이라는 태그를 확인할 수 있다.

 

해당 폴더에서 태그를 확인해서 내용을 읽으면 password를 구할 수 있었다.

 

또한, 태그를 리스트를 확인해봐도 secret 태그를 확인해볼 수 있다.

 


[핵심]

git 태그(Tag)란

git에서 태그란 우리가 알고 있는 것처럼 무언가 표시를 해두기 위한 태깅 기능을 위한 것으로, 특정 커밋을 태그해 두는 것입니다. 특정 커밋을 가리키는 링크라고 생각해도 좋습니다. 커밋과 태그의 차이점이라고 한다면 커밋의 경우 checkout 하여 내용을 수정할 수 있으나, 태그는 수정이 불가능 하며, 따라서 읽기전용 커밋같은 개념입니다.

 

목적이 정해져 있는것은 아니지만 보통 태그는 소프트웨어의 버전을 릴리즈 할 때 사용합니다. 예를들어 제품이 1.0 이 릴리즈 될때 태깅을 한번 해 두고 1.1 버전을 개발하면서 그 사이에 만들어지는 브랜치들과 커밋들이 존재하는데 이러한 것들은 커밋으로만 관리하다가 1.1 버전이 완성되는 커밋에 태깅을 해두는 것입니다.



출처: https://dololak.tistory.com/348 [코끼리를 냉장고에 넣는 방법]

 


[출처]

 

 


 

LIST