프로젝트/Webhacking.kr 44

[Webhacking.kr] Challenge(old) 32번 문제

문제 페이지는 해당 페이지와 같다. Rank 와 Name, hit 의 목록들이 나열되어 있고 1위의 아이디를 클릭했더니 hit 의 숫자가 올라가는 것을 확인할 수 있었다. 다시 한번 더 아이디를 클릭하면 이미 투표를 했다는 창이 뜨면서 거부된다. 페이지의 소스 코드를 확인해도 특별한 단서를 찾지 못해 쿠키 값을 확인하였다. vote_check 라는 쿠키항목이 존재하는 것을 확인할 수 있었다. 이 항목의 쿠키값을 지우고 다시 아이디를 누르면 hit 의 숫자가 증가하는 것을 확인할 수 있다. 를 이용하여 나의 아이디를 검색해보니 목록 가장 하단에 존재하였고 vote_check 쿠키 값을 이용하여 내 아이디의 hit 수를 100까지 증가시키면 문제가 풀릴 듯했다. EditeCookie 프로그램을 이용하여 vo..

[Webhacking.kr] Challenge(old) 43번 문제

문제 페이지를 확인하면 해당 페이지와 같다. 웹 쉘을 업로드하고 flag 파일을 출력하라는 문구와 파일 업로드 창이 존재한다. cat /flag 명령어를 실행하도록하는 php 파일을 만들어 업로드한다. 타입이 올바르지 않다는 문구가 뜨는 것을 확인 할 수 있다. 해당 확장자가 필터링 되는 것 같다. brup suite 프로그램으로 확인 해 보니 Content-Type이 application/octet-stream 이였다. 해당 Content-Type 을 image/png 로 변경하여 이미지파일로 인식시켜 보내본다. 해당 파일이 업로드 되는 것을 확인할 수 있다. 업로드된 파일의 링크를 눌러 이동하면 flag를 확인할 수 있다. 해당 flag 값을 webhacking.kr 의 Auth 메뉴로 가서 입력한다.

[Webhacking.kr] Challenge(old) 42번 문제

문제 페이지는 해당 페이지와 같다. 다운로드 링크가 존재하고, 해당 문제는 flag.docx 문서를 download 해서 확인해야 할 것 같다. test.txt 문서의 download 링크를 클릭하여 다운받는다. 해당 문서에서는 단서를 찾지 못하였다. flag.docx 문서를 다운로드하면 접근이 거부된다는 것을 확인할 수 있다. 메인페이지의 소스페이지를 확인해 본다. test.txt 의 a 태그의 href 속성을 보면 down 파라미터에 base64 인코딩 값이 입력되어 있는 것을 확인 할 수 있다. 이 값을 base64 디코딩 사이트를 통해 디코딩 한다. https://www.convertstring.com/ko/EncodeDecode/Base64Encode Base64로 인코딩 - 온라인 Base64..

[Webhacking.kr] Challenge(old) 41번 문제

문제 페이지는 해당 페이지와 같다. 해당 페이지에는 파일을 업로드하는 부분과 view-source 링크가 존재한다. view-source 링크를 통해 페이지의 소스코드를 먼저 확인한다. 파일이 업로드 되면 업로드 된 파일명에 . / 의 4개의 문자가 존재한 경우 공백으로 치환된다. 그리고 업로드된 파일은 /{$upload_dir} 아래로 복사되고 그 파일 안에 flag 값이 쓰여진다. 업로드 된 파일의 위치를 알아야 해당 파일을 열람할 수 있다. 가장 상단 php 부분을 보면 아래와 같은 코드가 존재한다. error_reporting(E_ALL); ini_set("display_errors", 1); 이 코드는 에러를 출력하는 코드로 파일의 경로를 포함하여 출력해주기 때문에 에러를 통하여 파일의 ..

[Webhacking.kr] Challenge(old) 38번 문제

문제 페이지는 해당 페이지와 같다. 입력창 하나가 존재하며 로그를 인젝션하면 문제가 풀리는 것 같다. 먼저 입력창에 임의로 test라고 입력해본다. 페이지의 화면이 초기화면과 같아진다. 페이지 소스 코드를 확인한다. 주석 처리된 부분을 참고하여 admin.php 로 이동한다. admin으로 로그인한 기록이 있어야 한다는 문구와 다른 로그기록들이 존재하는 것을 확인할 수 있었다. 마지막에 방금 test로 접속한 로그 기록이 존재한다. (블럭처리는 나의 IP 주소이다.) 메인페이지로 돌아가 admin 으로 로그인 한다. "you are not admin" 이라는 문구가 뜨는 것을 확인할 수 있으며, admin은 필터링 되는 것 같다. 로그가 위에서 아래로 출력되는 것으로 보아 CRLF injection이 가..

[Webhacking.kr] Challenge(old) 36번 문제

문제 페이지는 해당 페이지와 같다. 페이지에 출력된 문구를 해석하면 "현재 디렉토리에서 vi 편집기를 사용하여 index.php 파일을 편집하는 동안 정전으로 인해 소스 코드가 사라졌습니다. 회복할 수 있도록 도와주세요." 와 같다. vi 에디터로 작성하는 도중 비정상 종료 되면 .swp이라는 확장자를 가진 파일이 생성된다. 그러므로 .index.php.swp 파일이 존재할 것이다. URL 을 통하여 해당 파일을 다운 받는다. 해당 파일을 열어보면 flag 값이 존재하는데 이 값을 webhacking,kr 의 Auth 메뉴로 들어가 입력한다. 입력시 해당 문제가 풀리는 것을 확인할 수 있다.

[Webhacking.kr] Challenge(old) 28번 문제

문제페이지는 해당 페이지와 같다. Misson 문구를 보면 ./upload/WpTwQPHeMoPM 디렉터리 밑에 있는 flag.php 파일을 읽으면 해당 문제가 풀린다는 것을 알 수 있다. 해당 링크를 누르면 flag.php 파일이 실행이 되는 것이 확인된다. 해당 파일을 실행이 아닌 읽기 위해서 ./upload/WpTwQPHeMoPM 디렉터리에 .htaccess 파일을 업로드하여 flag.php 파일의 설정을 변경한다. .htaccess 파일이란? htaccess는 "hypertext access"의 약자이다. 아파치 같은 웹 서버에서 브라우저 같은 클라이언트에서 접근할 때 어떤 식으로 서비스를 제공할 지 결정하는 파일이다. 파일 업로드 디렉토리에 .htaccess 파일을 만들고 해당 파일에서 php ..