Wargame
-
<Root-me> Directory traversalWargame/Root-me = Web - Server 2022. 1. 11. 00:39
Directory traversal emotes, apps, devices, categories, actions 각각의 페이지에 사진 파일들이 들어있다. emotes를 눌러보면 GET Method로 galerie 파라미터를 가져오는 것을 확인할 수 있다. galerie 파라미터를 없이 입력하면 숨겨진 페이지인 86hwnX2r을 찾을 수 있다. ?galerie=86hwnX2r을 입력하면 password 파일이 있다. password 파일을 열어보면 flag 값을 획득할 수 있다.
-
<Root-me> PHP - assert()Wargame/Root-me = Web - Server 2022. 1. 10. 14:13
PHP - assert() Home, About, Contact 페이지가 있다. About 페이지를 열어보면 GET Method를 사용함을 알 수 있다. ?page=../ 를 입력해보면 assert() 함수에 의해 오류 메시지를 출력한다. 그리고 입력한 ../ 뒤에 .php가 추가되는 것을 확인할 수 있다. ?page='.system(ls).' 를 입력하면 system(ls)가 실행된다. ?page='.system('ls -al').' 를 입력하면 현재 경로에 .passwd 파일이 있음을 확인할 수 있다. ?page='.system('cat .passwd').' 를 입력하면 flag 값을 획득할 수 있다.
-
<Root-me> JSON Web Token(JWT) - IntroductionWargame/Root-me = Web - Server 2022. 1. 8. 18:18
JSON Web Token(JWT) - Introduction 관리자로 접속해야 한다. ■ JWT JWT는 JSON Web Token의 약자로, 전자 서명된 URL-safe(URL로 이용할 수 있는 문자로만 구성된)의 JSON이다. 전자 서명은 JSON의 변조를 확인할 수 있게 되어있다. JWT는 속성 정보(Claim)를 JSON 데이터 구조로 표현한 토큰으로 RFC7519 표준이다. JWT는 서버와 클라이언트 간 정보를 주고받을 때 HTTP 요청 헤더에 JSON 토큰을 넣으면, 서버는 별도의 인증 과정 없이 헤더에 포함되어있는 JWT 정보를 통해 인증한다. ■ JWT Token 구성 header.payload.signature JWT는 위의 세 부분으로 나눠지며, URI에서 파라미터로 사용할 수 있도록..
-
<Root-me> File upload - MIME typeWargame/Root-me = Web - Server 2022. 1. 6. 23:45
File upload - MIME type "upload"를 통해 사진을 업로드할 수 있다. 파일 확장자가 GIF, JPEG, PNG만 업로드할 수 있다. 문제 설명을 살펴보면 php 파일을 업로드하여 ".passwd" 파일 안의 비밀번호를 탈취하라고 한다. 위의 코드를 파일명 "test.php"로 하여 업로드해보면 파일 형식이 잘못되었다고 한다. Burp Suite를 사용하여 "test.php" 파일을 업로드하면 요청 헤더 body에 파일의 Content-Type을 확인할 수 있다. "application/octet-stream"을 png 파일로 속이기 위해 "image/png"로 변경시켜 Forward하면 "test.php" 파일을 업로드할 수 있다. "test.php"를 누르면 빈 명령을 실행할 수..
-
<Root-me> Install filesWargame/Root-me = Web - Client 2022. 1. 5. 18:25
Install files 빈 페이지를 출력한다. 문제 설명을 살펴보면 phpBB를 알고있냐고 물어본다. phpBB는 전자 게시판 프로그램으로 PHP 언어로 작성되었고, 데이터베이스로 MySQL이나 PostgreSQL을 사용한다. phpBB는 파일이 업로드되면 /phpbb/install을 추가하여 브라우저가 /phpbb/install/을 가리키도록 해야한다. 따라서, "./phpbb/install"에 접근하면 install.php 파일을 확인할 수 있다. install.php 파일에 접근하면 빨간 부분의 FLAG 값을 얻을 수 있다.