ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • command-injection-1
    개인공부/드림핵 2024. 12. 8. 17:06

    특정 호스트에 ping을 보내는 서비스에서 Command Injection을 이용하여 플래그를 획득하는 문제이다.

     

    [문제 풀이]

    1. 문제 풀이 서버 접속

     

    사진에서 알 수 있듯 특정 호스트에 Ping을 때릴 수 있는 서비스이다.

     

    localhost에 대해 ping을 시도해본다.

     

     

    명령이 정상적으로 수행되어 결과값을 리턴한 것을 확인 할 수 있다.

     

     

    ls 명령어 수행을 위해 ls 입력 시 요청한 형식과 일치시키라는 메세지가 나오며 명령이 실행되지 않는 것을 확인 가능하다.

     

    2. 문제 파일

    문제 파일 다운로드 후 분석을 진행한다.

     

     

    여기서 확인 할 수 있는것은 'ping -c 3 "{host}"' 부분에서 host값에 입력 주소값이 들어가며 수행된다는 것을 알 수 있다.

     

    동작 구조를 확인하였으니 Command Injection 공격을 시도해본다.

     

    3. Exploit

    우선 요청한 형식만 입력 가능하도록 제한한 것을 우회하기 위해 BurpSuite를 이용하였다.

     

     

    구문을 분석하면 아래와 같다.

     

    host = 127.0.0.1 // ping 127.0.0.1 수행

    " // 큰 따옴표를 이용해 위의 문제 파일에서 확인 한 코드의 첫번째 큰 따옴표를 닫아준다.

    cat "flag.py  // cat 명령어를 이용해 flag.py를 읽어온다. 

     

    여기서 flag 앞의 "가 들어가는 이유는 코드에서 두번째 "와 매칭시키기 위함이다.

     

     

    FLAG를 획득하였다.

    '개인공부 > 드림핵' 카테고리의 다른 글

    Carve Party  (0) 2024.12.09
    web-misconf-1  (0) 2024.12.08
    file-download-1  (0) 2024.12.08
    pathtraversal  (0) 2024.11.22
    cookie  (0) 2024.11.21
Designed by Tistory.