ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Webhacking.kr] Challenge 38
    Wargame/Webhacking.kr 2023. 4. 9. 11:22
    반응형

    Challenge 38 을 풀어보자.

     

    문제 화면을 보면 LOG INJECTION이라는 문구가 반겨준다.

    그 외에 입력 창과 'Login' 버튼이 있는 것 말고는 다른 힌트는 없는 것 같다.

    소스 페이지로 가는 링크가 없으므로 크롬의 개발자 도구로 코드를 보도록 하자.

    <Challenge 38의 문제 화면>

     

    페이지 코드를 보면, form으로 index.php에 post를 하고 있다.

    그런데 주석 처리된 부분을 보면 admin.php 페이지가 따로 있는 것 같다.

    저 페이지를 확인해보도록 하자. 

    <Challenge 38의 페이지 코드>

     

    admin.php는 log viewer 페이지라고 되어 있다.

    이전 문제 화면에서 입력을 했을 때, ip와 입력 값을 보여주는 페이지인 것 같다. (admin.php 입력)

    문제 해결을 위해서는 'admin'으로 로그인을 해야 한다고 알려 준다.

    <admin.php 페이지 확인>

     

    다시 원래의 문제 페이지로 돌아와 admin으로 로그인을 시도해보도록 하자.

    하지만 'you are not admin'이라는 문구가 출력되며, 로그인이 되지 않는 것을 볼 수 있다.  

    <admin 로그인 실패>

     

    이것을 해결하기 위해 Log Injection에 대해서 구글링을 해보았다.

    Log Injection은 간단히 말해 조작한 Log를 주입해 Log를 위조하거나, 악성 코드를 삽입하는 공격이다. 

     

    이번 문제는 악성 코드 삽입은 아니고, admin으로 로그인한 것과 같이 속이면 되는 문제이다.

    입력이 text로 되어 있어, 한 줄 밖에 작성을 못하므로, textarea로 수정을 해주고, 두 줄로 나눠 입력을 해준다.

    <입력 태그 수정 및 입력값>

     

    그 후 admin.php 페이지로 접속을 하면 문제가 해결된다.

    <Challenge 38 문제 완료>

    반응형

    'Wargame > Webhacking.kr' 카테고리의 다른 글

    [Webhacking.kr] Challenge 27  (0) 2023.04.23
    [Webhacking.kr] Challenge 32  (0) 2023.04.09
    [Webhacking.kr] Challenge 24  (0) 2023.04.09
    [Webhacking.kr] Challenge 18  (0) 2023.04.09
    [Webhacking.kr] Challenge 17  (0) 2023.04.09

    댓글

Designed by Tistory.