워게임/Root Me

[Root Me] Backup file - 웹해킹 / Vim

SecurityMan 2022. 4. 13. 08:30

 

Backup file 과 관련된 문제이다.

 

웹 서버 관리자들이 서비스를 유지보수하거나 업데이트 할 때

 

기존 파일들을 백업용으로 저장해두곤 하는데

 

작업이 다 끝난 뒤에도 백업용 파일들을 서버에서 지우지 않아

 

소스코드가 그대로 노출되는 경우가 있다.

 

 

문제페이지에 접속해보면 이런 로그인창이 나온다.

 

당연히 일반적인 방법으로 로그인해서 푸는 문제는 아니다.

 

보통은 백업파일을 만들때 index.php가 있다면

 

index.php.bak / index.php.old / index.php.tmp 이런식으로 파일 이름만 바꿔서 저장하는 경우가 많다.

 

.bak, .old, .tmp 파일이 서버에 저렇게 존재한다면, url에 index.php.bak 이라고 입력하면

 

그 파일을 그대로 다운로드 받을 수 있다.

 

하지만 이번문제는 위 같이 풀 수 있는건 아니었다.

 

반응형

 

리눅스를 사용한다면 편집기인 vim을 한번씩 써봤을 것이다.

 

vim 편집기는 사용자가 작업을 하는동안

 

파일이름에 ~ 를 붙여서 자동으로 백업파일을 생성해주는 기능이 있다.

 

 

문제페이지 URL에 index.php~ 를 입력해보면

 

 

이렇게 백업 파일이 다운로드가 가능해진다.

 

 

해당 파일을 열어보면 비밀번호를 알아낼 수 있다.

 

 

참고로 백업파일에서 비밀번호가 나와있는 부분은 

 

f12로 열 수 있는 개발자 도구에서는 보이지 않는다.

 

php는 서버쪽에서 동작하는 스크립트이기 때문이다.

반응형