ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Dreamhack - command-injection-1
    wargame/Dreamhack 2023. 11. 17. 21:09

    [Beginner - command-injection-1 - web]

     

     

     

    문제 환경에 접속하면 위와 같이 나온다.

     

     

     

     

     

    상단에 Ping 눌러서 들어가면 이렇게 나오는데 형식 저런식으로 쓰라고 나와있어서 127.0.0.1을 쳐본다.

    근데 특별히 나오는 게 없어서 127.0.0.1;ls했더니 요청한 형식한 일치시키라고 하고 뒤로 안 넘어간다.

     

     

     

     

    개발자도구 F12로 열어서 코드 확인해봤는데

     

    pattern 속성에 정규표현식으로 필터링 해놨다.

     

     

     

     

     

    그래서 일단 BurpSuite 툴을 사용하여 프록시의 intercept 탭 들어가서 브라우저 하나 열고 문제 환경에 접속한다.

    다시 Ping 들어가서 intercept is off를 on으로 켜준 다음 127.0.0.1을 입력하여 Ping!버튼을 누르면 Burpsuite에서 화면이 바뀐다. 여기서 우클릭 send to repeater를 누른다.

     

     

     

     

     

    한번 미리 해보기 위해 repeater에서 ls 명령어로 뭐 있는지 살펴보기(연결은 세미콜론 더블쿼트로 감싸고 결과는 send 누르면 나온다.)

    안에 flag.py가 들어있다.

     

     

     

     

     

    그럼 이번엔 cat으로 flag.py에 들어있는 값을 보려고 한다.(이때 공백은 더블쿼트로 감싸서)

    바로 플래그가 나오는 걸 볼 수 있다.

     

     

     

     

     

    이제 다시 프록시 intercept 들어가서 아까 host 입력하는 창에 127.0.0.1 입력해놓고 on으로 켜준 다음 Ping!버튼 누르고 Burpsuite에 좀전에 repeater에서 한 것처럼 ";"ls 추가로 입력하고 forward누르면 켜놨던 브라우저 화면이 위와 같이 바뀐다.(미리 해봤을 때랑 똑같은 출력)

     

     

     

     

     

    같은 방법으로 127.0.0.1";"cat" "flag.py를 하면 띄워놓은 브라우저에서 위와 같은 화면으로 바뀐다.

     

     

     

    플래그를 획득했다!

     

    'wargame > Dreamhack' 카테고리의 다른 글

    Dreamhack - devtools-sources  (0) 2023.11.28
    Dreamhack - littlevsbig  (1) 2023.11.25
    Dreamhack - file-special-bit  (0) 2023.11.14
    Dreamhack - Exercise : Docker  (0) 2023.11.14
    Dreamhack - dreamhack-tools-cyberchef  (0) 2023.11.03
Designed by Tistory.