Wargame(Web)/Webhacking.kr Writeup

    Webhacking Writeup NotSQL 문제

    webhacking NotSQL 문제로 이번 문제는 멘토분의 도움으로 해결했습니다. 먼저 문제사이트에 접속을 해보면 두개의 링크가 있습니다. 두개 각각 접속을 해보면 GIF사진과 jpg사진이 반겨줍니다. 문제의 접근법 부터 모르는 상황이니 개발자도구로 코드를 먼저 열어보면 view.php라는 코드가 query = query{ ..... } 등으로 무엇인가 처리를 해주고 있는 걸 확인할 수 있습니다. view.php로 들어가보면 각각의 쿼리값이 어떻게 처리되고 있는지 파라미터 확인이 가능합니다. 문제 자체가 NotSQL인데 SQL과 비슷한 구문을 처리하고 있으니 어떠한 언어를 사용하는지 먼저 알아야 합니다. Error를 일으키면 어떠한 언어를 사용하는지 확인이 가능해 Error를 일으켜보면 GraphQL이..

    Webhacking Writeup old-43 문제

    Webhacking Writeup old-43 문제입니다. 문제사이트에 접속하면 파일업로드를 하는 폼과 함께 webshell을 업로드하거나 cat /flag를 업로드 하라고 합니다. 파일업로드 공격은 어떠한 파일업로드가 가능하고 불가능한지 파악하는 것이 먼저입니다. 파일업로드 공격이라는 키워드로 검색하면 사용할 많은 소스코드중 cmd입력이 가능한 webshell코드를 사용했습니다. 먼저 webshell.php 코드를 업로드 시켜보면 타입이 잘못됬다고 친절하게 알려주면서 업로드에 실패했다고 합니다. 타입문제이니 파일업로드에 있어서 가장보편적인 jpg파일업로드를 시도해보면 사과jpg 파일 업로드에 성공했습니다. 링크또한 제공해주니 접속해보면 업로드된 사과파일을 확인할 수 있었습니다. 그러면 타입을 jpg로 ..

    Webhacking Writeup old-36 문제

    Webhacking Writeup old-36 문제입니다. 문제사이트에 접속해보면 index.php페이지를 vi에디터로 작업도중 정전사고로 소스코드가 사라졌다고합니다. 리눅스의 vi에디터를 쓰다가 윈도우에서 다른 에디터를 쓰다보면 가끔 실수로 Ctrl+Z를 누를 때가 있습니다. 그럴때면 vi에디터가 종료되지만 이때 vi에디터는 자동으로 .swp라는 파일을 생성해 백업하게 됩니다. 문제에서는 vi에디터에서 .swp라는 파일을 아는지에 대해 묻는 문제라고 생각됩니다. 리눅스를 여러번 사용해 알고 있는 부분이니 url에 .index.php.swp를 전달해보면 index.php.swp파일이 다운로드 됩니다 다운 받아진 파일을 열어보면 코드가 깨져있습니다. 그런데 맨마지막까지 코드를 내려보면 FLAG가 살아있는 ..

    Webhacking Writeup old-47 문제

    Webhacking Writeup old-47 문제입니다. 문제사이트에 접속해보면 Mail subject input창을 제외하고는 아무것도 없습니다. 도저히 감이 잡히지 않아 mail injection이라는 키워드로 검색을 해보니 Email injection이라는 레퍼런서들이 상당히 많았습니다. 그중에서 이번문제에 사용이 가능할 것으로 보이는 자료를 찾아 활용했습니다. 메일을 발생시키는 코드를 공격자가 수정할 수 있다면 Cc라는 메일참조를 활용한 공격이라고 합니다. Cc는 메일 참조로써 메일을 보낼때 보낼대상자 외에도 추가로 메일을 받을 사람을 지정하는데 이 Cc를 추가해 공격자가 중간에서 탈취하는 방식이라고 합니다. html소스코드를 열어보면 input창으로 입력을 받고 있습니다. %0A와 같은 줄바꿈..

    Webhacking Writeup old-02 문제

    Webhacking Writeup old-02 문제입니다. 사이트에 접속하면 loggin만 출력될 뿐 아무반응이 없습니다. 해서 코드를 열어보면 주석으로 현재시간과 admin.php라는게 존재한다고 알려주고 있습니다. admin.php에 접속을 해보면 pw를 제출하는 input창이 존재합니다. 여러 방법을 시도했지만 방법이 안보여 다시 처음페이지로 돌아온 뒤 쿠키를 살펴봤습니다. 쿠키에는 time라는 이름으로 현재시간 값이 설정된것으로 보입니다. 여기서 막혔는데 쿠키값을 변조해보라는 지인의 힌트를 받았습니다. time을 1로 바꿔보면 시간의 초단위가 1로 바뀐것을 확인 할수 있었습니다. 0을 입력하게 되면 False가 되어서 인지 결과가 출력되지 않습니다. 결과값이 1이상의 숫자이기만 하면 가능한건지 s..