36번 문제를 진입하면 vi editor로 index.php를 작업하다 파워가 나가 소스코드가 사라졌고 복구해달라고 한다.
문제에 어떻게 접근할지 생각하다 vi editor 작업중에 복구를 하는 방법을 찾아보았고 스왑파일(.swp)에 대해 알게되었다.
스왑파일(.swp)
스왑파일은 파일을 편집하다가 예기치 않게 종료해버린 경우 생성되며 원본파일이 아니라 복사본 파일이 생성되는 것이다.
홈페이지 url에 index.php.swp를 입력하여 스왑파일에 대해 알아보자
url을 입력하였더니 not found 라며 해당 데이터가 서버에 없음을 알린다.
어떤 식으로 스왑파일을 얻을지 고민하다가 스왑파일의 형식이 .원본파일명.swp 인것을 알았다. 즉 . 이 붙은
숨김파일인 것이다.
.원본파일명.swp 형식으로 입력을 하면 swp파일을 다운로드 받을 수 있다.
해당 파일을 리눅스os에 vi editor로 확인할 계획이다.
윈도우에서 리눅스로 파일을 전송하는 것을 구글링하다.
파일 전송 프로토콜에 대해 찾아보았다.
파일 전송 프로토콜
기본적으로 리눅스에서 원격으로 접속할 때는 SSH라는 tcp방식의 통신을 사용하며 22번 포트를 이용한다.
(1) FTP
File Transfer Protocol의 약자이며 파일 관련 전송을 위한 프로토컬이다. tcp 통신과 21, 20 포트를 사용한다.
파일 전송 데이터를 암호화하지 않아 보안적으로 매우 취약하여 이 프로토콜을 잘 사용하지 않는다고 한다.
(2) SFTP
S는 Secure이며 FTP의 보안취약점을 보안한 프로토콜이다. 전송파일에 대한 암호화가 되어있다. tcp/22 이다.
(3) SCP
S는 Secure이며 CP는 리눅스의 CP와 같은 의미로 파일을 단방향으로 복사만 하는 프로토컬이다. tcp/22이다.
필자는 여기서 (2) SFTP 프로토콜을 이용하여 스왑파일을 전송하고자 한다.
먼저 SFTP접속 즉 연결을 한 후에 파일을 전송한다.
1.연결
$sftp [원격_계정명]@[원격ip]
- 해당 명령어를 입력하면 원격계정의 비밀번호를 입력하면 된다.
- 스왑파일이 있는 디렉토리에서 입력을 한다.
2.local -> remote 방향 업로드
$put [파일명]
vi editer로 스왑파일을 열면 위와 같이 나오는데 아래 스크롤로 이동하면
flag를 얻을 수 있다.
문제핵심
1.리눅스 swp 파일 및 형식
2.파일 전송 프로토콜
'웹 > 웹 해킹 문제 풀이' 카테고리의 다른 글
webhacking.kr 59번 write up (0) | 2022.12.29 |
---|---|
webhacking.kr 42번 write up (0) | 2022.12.29 |
Webhacking.kr 33번 write-up (0) | 2022.12.22 |
dvwa 실습 (file upload_low) (0) | 2022.12.08 |
webhacking.kr 20번 write-up (0) | 2022.12.07 |