중화사전망 - 서예자전 - 파일 업로드 취약점?

파일 업로드 취약점?

파일 업로드 취약점 (File upload vulnerability) 은 프로그래머가 업로드된 파일에 대해 엄격한 검증과 필터링을 하지 않았기 때문에 사용자가 자신의 권한을 넘어 실행 가능한 동적 스크립트 파일을 서버에 업로드할 수 있다는 것을 의미합니다. 이것은 매우 흔하다.

아바타 업로드, 사진 업로드, OA 사무실 파일 업로드, 미디어 업로드, 사용자가 파일을 업로드할 수 있는 곳에서 필터링이 엄격하지 않으면 악의적인 사용자는 파일 업로드 허점을 이용하여 유해한 실행 스크립트 파일을 서버에 업로드할 수 있으며, 서버의 권한을 얻거나 서버를 더욱 위태롭게 할 수 있습니다.

불법 사용자가 업로드할 수 있는 악성 파일이 전체 사이트, 심지어 서버를 통제한다. Webshell 이라고도 하는 이 악성 스크립트 파일은 서버 정보, 디렉토리, 시스템 명령 실행 등을 볼 수 있습니다. Webshell 뒷문을 업로드한 후.

파일 업로드 유형:

1, 전면 js 바이패스

파일을 업로드할 때 사용자가 파일을 선택할 때 또는 제출할 때 일부 웹 사이트에서는 프런트 엔드 파일 이름을 확인하고 일반적으로 접미사가 업로드된 형식인지 확인합니다. 업로드 형식이 올바르지 않으면 프롬프트 텍스트가 팝업됩니다. 이 시점에서 패킷은 서버에 제출되지 않고 클라이언트에서 js 파일을 통해 인증됩니다. 인증에 실패하면 처리를 위해 서버에 제출되지 않습니다.

2. 콘텐츠 유형 무시를 수정합니다.

일부 업로드 모듈은 http 유형 헤더를 감지합니다. 그림 유형의 경우 서버에 파일을 업로드할 수 있습니다. 그렇지 않으면 서버가 content-type 을 통해 유형을 결정하고 content-type 은 클라이언트에서 수정할 수 있기 때문에 업로드가 실패합니다.

3. 블랙리스트를 우회하다

업로드 모듈은 때때로 블랙리스트 제한으로 쓰여진다. 파일을 업로드할 때 접미어를 얻은 다음 프로그램의 접미어와 블랙리스트를 감지합니다. 접미사가 블랙리스트 목록에 있으면 파일 업로드가 금지됩니다.

4, htaccess 재 작성 분석 바이 패스

업로드 모듈, 블랙리스트는 모든 실행 파일 접미사를 필터링하고, 업로드가 허용된 경우. Htaccess 파일의 역할은 폴더 암호 보호, 사용자 자동 리디렉션, 오류 페이지 사용자 정의, 파일 확장자 변경, 특정 IP 주소를 차단하는 사용자, 특정 IP 주소만 허용하는 사용자, 디렉토리 목록 금지, 다른 파일을 인덱스 파일로 사용 등의 기능을 구현하는 데 도움이 됩니다.

Htaccess 에서 SetHandler 를 작성합니다.

Application/x-httpd-php 는 PHP 파일로 다시 쓸 수 있습니다. Htaccess 규칙을 적용하려면 Apache 에서 다시 쓰기 모듈을 열어야 합니다. 대부분의 Apache 는 이 모듈을 열어 규칙이 일반적으로 적용되기 때문입니다.

5, 사례 바이 패스

일부 업로드 모듈 접미사 이름은 블랙리스트에 의해 결정되지만 접미사 이름의 대/소문자를 엄격하게 판단하지 않아 phP, Php, PHP 와 같이 접미사 대/소문자를 변경하고 우회할 수 있습니다.