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는 서버쪽에서 동작하는 스크립트이기 때문이다.
반응형
'워게임 > Root Me' 카테고리의 다른 글
[Root Me] HTTP - Headers - 웹해킹 / 헤더변조 (36) | 2022.04.21 |
---|---|
[Root Me] HTTP - Directroy indexing - 웹해킹 (44) | 2022.04.17 |
[Root Me] PHP - Command injection - 웹해킹 / 명령어삽입 (56) | 2022.04.05 |
[Root Me] HTTP - IP restriction bypass - 웹해킹 / 헤더변조 (52) | 2022.04.03 |
[Root Me] HTTP - User-agent - 웹해킹 / 헤더변조 (38) | 2022.04.03 |