
page로 받아온 파일 이름이 file로 시작하지 않고, include.php가 아닌 경우, 에러 문구가 출력된다.
page 파라미터의 값으로 file:///etc/passwd를 전송하면 /etc/passwd 파일이 그대로 출력된다.


파일 확장자가 jpg, jpeg, png 중 하나이고, 사이즈가 100KB 미만이고, getimagesize()로 이미지 인지 여부를 확인해 통과한 파일만 업로드가 가능해진다.
attack.php 업로드 할 경우 아래 구문 출력.

intercept on을 클릭하고 다시 attack.php를 업로드.


filename에 .jpg 덧붙이고, 아래에 GIF89a 구문 추가
GIF89a는 GIF 파일의 시그니처로 getimagesize() 함수를 우회하기 위함이다.
getimagesize() 함수는 파일의 시그니처를 보고
