[Root-Me]/Web Server/File upload - Null byte
2022. 1. 20. 14:25
워게임/Root-Me
이번에도 파일 업로드 문제네요 문제풀이 바로 시작해보도록 하겠습니다. 1. 문제 이번에는 포토갤러리에 php 코드를 업로드 공격을 하라고 하네요 2. 문제풀이 여려 카테고리와 함께 업로드 가능한 부분이 있네요. 이전에도 몇 번 파일 업로드 문제가 있었기에 바로 업로드 시도해보겠습니다. 이전에 만들어 둔 웹쉘을 그대로 업로드시켜보겠습니다. 파일 이름을 php 확장자 뒤에 널 바이트를 삽입하고 사진 파일처럼 위장해 업로드해보았습니다. 잘못된 확장자라고 뜨며 업로드가 되지 않았습니다. 이후 파일명에 널 바이트 삽입 후 MIME 타입을 사진파일처럼 변경시켜주었습니다. 이번에는 업로드는 되었지만 제대로 접근은 불가능하였습니다. 이제는 파일명도 널바이트 삽입 후 이미지 파일처럼 만들어주고 MIME 타입 또한 이미지..
[Root-Me]/Web Server/File upload - MIME type
2022. 1. 18. 14:43
워게임/Root-Me
이번에도 파일 업로드 문제가 출제되었네요. 문제풀이 바로 시작해 보도록 하겠습니다. 1. 문제 이번 문제도 파일 업로드이며, MIME type이네요. 2. 문제풀이 문제 접근 시 저번 파일 업로드와 같이 몇 개의 카테고리와 업로드 부분이 있네요 업로드 부분 접근해보도록 하겠습니다. 바로 파일 업로드 시도해보겠습니다. 지난번과 같이 확장자를 png로 변경해 주겠습니다. 결과는 실패네요.... 주제에 맞게 MIME type을 변경해 주어야 하는 것 같습니다. 파일을 이미지 파일처럼 올려보았습니다. 파일이 업로드가 되었습니다. 해당 파일 접근해보겠습니다. 파일 접근 후 cmd 명령을 통해 존재하는 파일을 보았습니다. 업로드된 파일들이 보이네요. 저번 파일 업로드와 비슷한 구조이기에 바로 3칸위의 파일목록을 보..
[Root-Me]/Web Server/Local File Inclusion
2022. 1. 17. 15:32
워게임/Root-Me
문제풀이 바로 시작해보겠습니다. 1. 문제 Local File Inclusion(LFI) 주제네요. 2. 문제풀이 문제 접근 시 카테고리들이 존재하며, 아래 파일들이 존재하네요 connected as : guest | admin을 보아 admin을 접근해야 할 것만 같습니다. 힌트 또한 어드민 영역에 접근하라고 하네요. admin에 접근하니 ID/PW를 요구하네요. 여기에 접근할 수 있으면 문제가 해결될 것 같습니다. 먼저 LFI 답게 파일 경로 위에 무엇이 더 있는지 확인해 보겠습니다. 해당 파일 상위경로로 이동하니 카테고리들이 존재하였습니다. 한번 더 경로를 높혀보겠습니다. admin 파일이 존재하네요.... 파일에 접근해보겠습니다. admin 파일에 접근하니 index.php 파일이 존재하며 ind..
[Root-Me]/Web Server/File upload - Double extensions
2022. 1. 14. 17:52
워게임/Root-Me
한동안 휴식기를 가지고 왔는데... 1월도 됐으니 열심히 다시 달려보도록 하겠습니다~ 바로 문제풀이 시작하겠습니다. 1. 문제 문제 접근 시 여러 가지 카테고리가 보이며 주제는 파일업로드-이중 확장자로 보이네요. 2. 문제풀이 문제 풀기 전 어떠한 업로드의 문제인지 확인하기 위해 힌트를 보았습니다. PHP 코드를 통해 최상위 .password 파일 안에 패스워드를 가져오라는 것 같습니다. 여러 가지 카테고리가 있지만 주제에 맞게 바로 Upload 부분으로 들어와 업로드를 시도해 보겠습니다. 업로드 전 최상위 경로의 .passwd 파일을 찾기 위해 php 웹쉘을 작성해보겠습니다. 기본적으로 명령어를 사용할 수 있는 코드를 작성하였습니다. 간단하게 메모장을 통해 작성 후 확장자를 .php 로 붙여 저장해 주..
[Root-Me]/Web Server/Directory traversal
2021. 12. 21. 20:24
워게임/Root-Me
한동안 글 업로드를 못하다가 이제야 시작하네요. 바로 문제풀이 시작해보겠습니다. 1. 문제 숨겨진 포토 갤러리를 찾으라는 문제인 것 같네요. 문제풀이 시작 해보겠습니다. 2. 문제풀이 처음 문제에 접근하니 갤러리에 여러 가지 섹터가 있네요 문제가 숨겨져 있는 섹터를 찾으라고 하였기에 힌트가 될만한 게 있나 emotes 섹터를 클릭하고 패킷을 잡아보았습니다. galerie 파라미터에 emotes 섹터가 들어가 있는 것을 확인할 수 있습니다. 이 부분에서 숨겨진 섹터를 찾을 수 있을 것이라는 생각을 해봅니다. 이후 galerie 파라미터에 공백을 넣어보니 보이지 않는 섹터가 보이네요 해당 섹터의 패킷을 잡아 보니 패스워드 파일이 보이네요 해당 섹터에 패스워드 파일에 접근해 보니... 패스워드가 보이네요 해당..
[Root-Me]/Web Server/PHP - Filters
2021. 10. 29. 19:30
워게임/Root-Me
10월은 할 일이 많아 조금 늦었네요 문제풀이 바로 시작해보도록 하겠습니다. 문제 문제 접근 시 home, login 등 기능이 보이네요 문제풀이 무엇을 먼저 해야 할지 몰라 문제 접근 전 힌트를 보았습니다. 이 애플리케이션의 관리자 패스워드를 찾으라는 것으로 보이네요. home 기능을 사용해 보니 딱히 기능이 있어 보이지 않았습니다. 이후 로그인 기능을 사용해 보았습니다. ID/PW에 admin/admin을 입력해 보았습니다. 에러가 뜨며 로그인되지 않더군요. URL을 통해 관리자 페이지가 존재할지 몰라 admin.php를 입력해 보았습니다. 아래와 같은 하위 폴더가 존재하네요 접근해도 별다른 반응이 없습니다. 이 부분부터 막혀서 검색해 본 결과 php wrapper라는 것이 존재하더라고요 그중 php..
[Root-Me]/Web Server/SQL injection - Authentication
2021. 10. 13. 21:47
워게임/Root-Me
문제풀이 바로 시작해보도록 하겠습니다. 1. 문제 ID/PW를 입력하여 무엇인가 해야하는 것 처럼 보이네요 2. 문제풀이 문제를 보니 sql injection 중 인증이며 힌트를 보니 administrator의 계정을 sql injection을 통해 인증해야할 것 같다. 처음 구조를 보기 위해 요청 패킷을 잡아보았다. ID = administrator PW = test1234를 입력 후 패킷을 잡아보니 user/password를 찾을 수 없다는 오류가 나왔다. 이후 PW 값에 '+or+1=1-- 를 통해 sql injection을 시도해 보았다. SQL 문법적 오류가 발생하였으며 or 앞뒤의 문법이 잘못되었다는 것을 알 수 있었다. 이후 +값을 스페이스를 통해 공백으로 넣어주었다. 그렇게 되니 에러는 사..
[Root-Me]/Web Server/HTTP - Cookies
2021. 10. 13. 19:08
워게임/Root-Me
다른 일들로 좀 바빠 오랜만에 글 쓰네요~ 바로 문제풀이 시작해보도록 하겠습니다. 1. 문제 문제 접근 시 Email을 작성하여 보낼 수 있도록 해놨네요 2. 문제풀이 바로 아래 보이는 Saved email adresses를 눌러보았습니다. You need to be admin을 통해 admin 권한이 필요하다는 것으로 보입니다. 어떻게 패킷이 이루어져 있는지 확인하기 위해 요청 패킷을 잡아 보았습니다. 주석을 통해 SetCookie("ch7", "visiteur")라는 값이 보이며 요청 패킷의 cookie 값에는 visiteur 값이 보입니다. 이 부분을 admin으로 수정해보도록 하겠습니다. 쿠키 값의 visiteur 값을 admin으로 변조 후 응답 값을 보니 패스워드가 노출되었습니다. 이를 검증해..
[Root-Me]/Web Server/CRLF
2021. 9. 26. 17:07
워게임/Root-Me
문제풀이 바로 시작해보겠습니다. 1. 문제 문제 접근 시 로그인 시도와 log가 기록되는 것을 볼 수 있다. 2. 문제풀이 처음 로그인은 admin/admin 을 통해 시도해 보았다. admin 인증 실패라는 구문이 로그에 기록이 되었다. 혹시 몰라 sql injection 공격을 시도해보았다. 로그 기록에 ID가 곧바로 남게 되었고 패킷 분석을 해보았다. username 파라미터 값이 곧바로 로그 이름에 찍히게 되었다. 주제가 CRLF이므로 그에 맞게 개행 문자를 넣어보았다. CRLF란 개행문자로서 %0d%0a를 통해 엔터를 친 효과를 얻을 수 있다. 개행 문자를 삽입하니 name 부분이후 failed to autheticate. 값이 엔터처럼 넘어가서 로그에 찍히게 되었다. 이후 로그에서 인증된 것 ..