FILE UPLOAD INJECTION 개요

코딩 파인애플·2026년 6월 8일

FILE VULNERABILITY

목록 보기
1/1
post-thumbnail

안녕하십니까
코딩사과의 짭 코딩 파인애플입니다
이번 네 번째 글은 File upload injection에 관해 알아보겠습니다.

FILE UPLOAD INJECTION이란?

File upload injection (File을 주입하다) 는 해커 업로드할 수 있는 기능을 악용하여 서버에 악성 파일을 업로드하는 공격 기법을 말합니다

예를 들어 보안이 너무나 이상적인 사이트가 있다고 해봅시다

일반 사용자는 다음과 같은 이미지를 업로드를 하겠지만...

크아악..!.jpg
롤랑..!.png

이상적인 해커는 다음과 같은 이미지를 업로드를 합니다

크아악..!.php
롤랑..!.jsp
이%20새123기가..!.asp

이때 안에 들어있는 파일의 내용 중 악성코드가 포함되어 있으면 서버는 그걸 곧이곧대로 실행하게 되고 서버는 멘탈이 완전히 나가버립니다.
흐트러짐 시밤쾅여기서 쓰이는 확장자의 경우 대부분의 워게임 사이트는 .php을 쓰지만 특정 사이트는 파이썬이나 jsp,js등을 쓰기도 합니다

참고로 앞으로 서술하게 될 File injection 관련 게시물들은 php파일을 기준으로 설명할 예정이니 유의하시길 바랍니다.

간단한 php

제가 워게임할 때 이용하는 php파일의 구조는 이런 형태입니다

<?php 
//<?php와 ?>의 경우 php파일을 실행시키기 위한 구문. 뭐, C언어의 중괄호 느낌?
//system 함수는 system 안에 들어있는 명령어(리눅스)를 실행시키겠다는 뜻.
	system('리눅스 명령어');
?>

system안에 파일을 읽을 때 간단하게 "cat ./파일명" 을 넣거나 혹은 cmd를 실행시키기 위해 "$_GET['cmd']" 을 넣기도 합니다

만일 작성에 성공했다?

그러면 해당 홈페이지의 url에 다음과 같은 형태로 찾을 수 있습니다
./uploads/파일명.php

만일 cmd를 실행시킬려면./uploads/파일명.php?cmd='리눅스 명령어 입력'

더 딮♂다크하게 들어가서 특정 파일을 찾고 싶다면 요딴

파일명.php?cmd='find -name 파일이름같은거' 를 넣어
경로를 찾을 수 있습니다 (find 명령어의 와일드 카드 사용 가능.)

이제 기초 여기까지이고 좀 더 심화있게 가봅시다.
라뫼차 랜드 가기 : https://www.youtube.com/watch?v=EkRilpqXkYk

profile
안녕하떼요 취미로 콤푸타 배우는 고든학교 6학년 유치원생이빈다.

0개의 댓글