분류 전체보기
-
<Root-me> File upload - Null byteWargame/Root-me = Web - Server 2022. 1. 11. 11:32
File upload - Null byte 사진 갤러리에서 upload를 통해 파일을 upload 할 수 있다. 문제 설명을 보면 갤러리에 PHP 코드를 업로드시켜 해킹하라고 한다. 업로드 가능 확장자는 GIF, JPEG, PNG만 가능하다. PHP 웹 셸 코드를 준비하여 Burp Suite로 Content-Type만 바꿔서 업로드해보면 잘못된 확장자라고 한다. 해당 경로에 접근해도 "404 Not Found"를 출력한다. 문제 제목에 Null Byte를 참고하여 구글링 해보면 Null Byte Injection을 찾을 수 있다. Null Byte Injection은 URL로 인코딩 된 널 바이트 문자(%00 or 0x00)를 입력 데이터에 이용하여 악성코드 파일을 업로드시켜 시스템 권한을 획득하거나 주..
-
<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"를 누르면 빈 명령을 실행할 수..