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

[OverTheWire Bandit] Bandit Level 28 -> Level 29 문제풀이 (+git log, commit 상세정보 확인)

Noody 2024. 12. 24. 13:54

OverTheWire Bandit

Level 28 -> Level 29

 

 

목표 : git 명령어를 통해 변경사항을 확인하여 패스워드 찾기

  • git 리포지토리로 이동
  • git log 확인
  • git commit 세부사항 확인

 

풀이 방법

 

1. bandit28 서버 접속

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

 

 

2. 이전 레벨과 동일하게 진행

이전 포스팅에서 진행했던 내용 4번 즉, README 파일을 읽는 부분까지 그대로 진행한다.

 

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

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

imnode.tistory.com

 

여기서는 README.md 파일을 읽어서 내용을 확인하였다.

 

 

3. git log 확인하기

password가 xxxxxxxxxx로 나오기 때문에 당장은 비밀번호를 확인할 수 없다.

변경된 부분에서 힌트가 될 만한게 있는지 commit의 특징을 이용해 git log 명령어를 사용한다.

커밋(commit)은 Git에서 파일 변경 내용을 저장하는 스냅샷이다.
한 번 커밋을 하면 그 시점의 프로젝트 상태가 기록되어 나중에 되돌리거나 확인할 수 있다.

 

git log는 커밋된 부분을 log 형태로 보여준다.

fix info leak(취약점 수정)이라는 부분이 수상해보인다.

 

 

4. commit 세부사항 확인

해당 커밋에 대한 상세 정보를 알아보기 위해 git show 명령어를 사용한다.

git show [커밋ID]

위 캡쳐 이미지에서 노란색으로 되어있어 문자열을 '커밋ID'

 

변경사항을 확인해보니 이전에 패스워드를 그대로 입력했다가 x로 변경했다는 것을 알 수 있다.

 

해당 문자열이 다음 레벨의 패스워드가 맞는지 확인해봤다.

맞다.