[Bandit] Level 30 → Level 31
Bandit Level 30 풀이 과정을 설명합니다.
문제
Level Goal
There is a git repository at
ssh://bandit30-git@bandit.labs.overthewire.org/home/bandit30-git/repovia the port2220. The password for the userbandit30-gitis the same as for the userbandit30.From your local machine (not the OverTheWire machine!), clone the repository and find the password for the next level. This needs git installed locally on your machine.
해결
/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 [코끼리를 냉장고에 넣는 방법]
댓글
이 글이 마음에 드셨다면 반응이나 댓글을 남겨주세요!
댓글을 작성하려면 로그인하세요

뉴스레터 구독하기
새로운 포스트가 올라오면 이메일로 알려드려요!