복붙노트

업로드시 보안 위협

PHP

업로드시 보안 위협

사용자가 내 서버에 파일을 업로드 할 수 있도록 허용하고 있습니다. 가능한 보안 위협은 무엇이며 어떻게 제거 할 수 있습니까?

사용자가 자신의 시스템 또는 네트워크에서 내 서버로 이미지를 업로드 할 수 있도록 허용한다고 가정 해 보겠습니다. 이제는이 이미지의 크기조차도 확인하려면 내 / tmp 폴더에 저장해야합니다. 위험하지 않아? 위험을 최소화하려면 어떻게해야합니까?

또한 사용자가 내 양식에 업로드하는 링크에서 이미지를 다운로드하기 위해 wget을 사용한다고 가정 해 보겠습니다. 먼저 서버에 파일을 저장하여 실제로 이미지인지 확인해야합니다. 또한 장난 꾸러기가 저에게 URL를주고 악성 소프트웨어로 가득 찬 전체 웹 사이트를 다운로드하게되면 어떻게됩니까?

해결법

  1. ==============================

    1.우선 파일 업로드는 사용자가 다양한 형식의 많은 데이터를 제공한다는 것을 의미하며 사용자는 해당 데이터를 완벽하게 제어 할 수 있습니다. 이는 정상적인 형식의 텍스트 필드에 대한 우려 일 수도 있습니다. 파일 업로드는 동일하고 훨씬 더 많습니다. 첫 번째 규칙은 다음과 같습니다.

    우선 파일 업로드는 사용자가 다양한 형식의 많은 데이터를 제공한다는 것을 의미하며 사용자는 해당 데이터를 완벽하게 제어 할 수 있습니다. 이는 정상적인 형식의 텍스트 필드에 대한 우려 일 수도 있습니다. 파일 업로드는 동일하고 훨씬 더 많습니다. 첫 번째 규칙은 다음과 같습니다.

    파일 업로드를 통해 사용자로부터 얻는 혜택 :

    이것은 파일 업로드의 세 가지 주요 구성 요소이며 신뢰할 수있는 것은 아닙니다.

    구체적인 질문을 해결하려면 다음 단계를 따르십시오.

    아니요. 데이터를 임시 폴더에 파일로 저장하는 것만으로는 그 데이터로 아무 것도하지 않으면 위험하지 않습니다. 데이터는 내용에 관계없이 데이터입니다. 데이터를 실행하려는 경우 또는 프로그램에 구문 분석 결함이있는 경우 악성 데이터가 예기치 않은 일을하도록 속일 수있는 데이터를 구문 분석하는 경우 위험합니다.

    물론 악의적 인 데이터를 디스크에 저장하는 것은 악의적 인 데이터가없는 곳보다 위험합니다. 당신은 누구가 따라오고 그것으로 무언가를 할 것인지 결코 알지 못합니다. 따라서 업로드 된 데이터의 유효성을 검사하고 유효성 검사를 통과하지 못하면 최대한 빨리 폐기해야합니다.

    정확히 무엇을 다운로드 할 것인지는 당신에게 달려 있습니다. 하나의 URL은 대부분 하나의 데이터 블록에 있습니다. 해당 데이터를 파싱하고 문제가되는 초기 BLOB를 기반으로 더 많은 URL의 콘텐츠를 다운로드하는 경우 하지 마. 하지만 그랬다면, 그럼, 당신은 임시 디렉토리를 물건으로 가득 차게 할 것입니다. 다시 말하지만, 위험한 일을하지 않으면 위험하지 않습니다.

  2. ==============================

    2.1 간단한 시나리오는 다음과 같습니다. 업로드 할 수있는 파일 유형에 대한 제한이없는 업로드 인터페이스를 사용하는 경우 공격자는 악성 코드가 포함 된 PHP 또는 .NET 파일을 업로드하여 서버를 손상시킬 수 있습니다.

    1 간단한 시나리오는 다음과 같습니다. 업로드 할 수있는 파일 유형에 대한 제한이없는 업로드 인터페이스를 사용하는 경우 공격자는 악성 코드가 포함 된 PHP 또는 .NET 파일을 업로드하여 서버를 손상시킬 수 있습니다.

    부치다: http://www.acunetix.com/websitesecurity/upload-forms-threat.htm 위의 링크는 일반적인 문제에 대해 설명합니다.

    또한 참조 : http://php.net/manual/en/features.file-upload.php

  3. ==============================

    3.다음은 그 중 일부입니다.

    다음은 그 중 일부입니다.

  4. ==============================

    4.파일 업로드와 관련된 일반적인 문제를 피하는 일반적인 규칙이 있습니다.

    파일 업로드와 관련된 일반적인 문제를 피하는 일반적인 규칙이 있습니다.

  5. from https://stackoverflow.com/questions/11061355/security-threats-with-uploads by cc-by-sa and MIT license