상세 컨텐츠

본문 제목

Step8. 파일 업로드 공격

화이트 해커를 위한 웹 해킹의 기술

by 메리_99 2021. 2. 28. 22:45

본문

반응형

Step8. 파일 업로드 공격

파일 업로드 공격 개요

  • 파일 업로드 취약점은 파일을 업로드하는 기능에 적절한 보안 대책이 적용되어 있지 않을 때, 발생한다.

  • 취약점이 있을 경우, 웹 쉘이라고 하는 웹을 통해 시스템 명령어를 실행할 수 있는 웹 페이지를 통해 공격이 가능하다

webshell 코드

  • 위와 같이 웹 쉘은 공격자가 입력 폼에 입력하면 cmd 파라미터를 통해 전달되어 system() 함수를 이용하여 명령어를 실행한다.

파일 업로드 공격 실습

  • 웹 페이지에서 웹 쉘을 업로드한다.

webshell.php가 성공적으로 업로드

  • 위와 같이 업로드된 경로에 접속한다.

webshell에 접근

  • cat /etc/passwd와 같은 명령어를 실행해 정보를 획득한다.

웹 서버의 사용자 정보

파일 업로드 공격 대응

  • 꼭 필요한 형식만 업로드되도록 파일의 확장자와 내용을 검사한다. 파일의 확장자만 검사하는 경우, 파일의 실제 내용을 확장자와 다르게 전송하여 우회할 수 있으니 파일의 내용까지 일부 검사하여 파일의 종류를 확실하게 검사한다.

  • 업로드된 파일을 사용자가 접근 불가능한 경로에 저장한다. 파일 업로드를 위한 별도의 서버를 구축하고 웹 애플리케이션을 서비스하는 서버와 완전히 분리하는 것도 좋다.

  • 파일이 업로드되는 디렉터리 실행 권한을 제거한다.

  • 업로드된 파일을 다른 확장자로 변경한다. 이렇게 되면 php코드가 실행되지 않게 된다.

  • 업로드된 파일의 이름을 랜덤하게 재생성하여 저장한다. 공격자가 자신이 업로드한 파일의 경로를 추측하지 못하도록 한다.


위 글은 '화이트 해커를 위한 웹 해킹의 기술 최봉환 저'를 공부하며 쓴 글입니다.
728x90

관련글 더보기

댓글 영역