java 파일 다운로드 취약점

파일 반영 다운로드는 비교적 새로운 취약점입니다. 그것은 Trustwave 보안 연구원 로렌 Hafif에 의해 BlackHat 2014에서 주류에 발표 되었다. 이 취약점을 악용 하려면 두 번째로 사용자 고유의 코드나 라이브러리를 사용 하 여 아카이브를 추출 해야 합니다. 압축 풀기 코드에서 아카이브의 파일 경로에 대 한 유효성 검사를 생략 하는 경우 취약점이 존재 합니다. 취약 한 코드 조각의 예 (Java에 표시 된 예제)는 아래에서 볼 수 있습니다. Spring 웹 MVC는 개발자가 동적으로 사용자가 요청한 형식으로 응답을 변환 할 수 있습니다. 이는 다른 클라이언트에서 요구 하는 XML 또는 JSON과 같은 다양 한 형식의 콘텐츠를 제공 하기 위해 단일 컨트롤러 메서드를 구현 하기만 하면 되므로 개발자에 게 매우 유용 합니다. 이를 위해 Spring은 HTTP 콘텐츠 협상 메커니즘을 구현 합니다. 봄 웹 MVC 구현 콘텐츠 협상을 호출 하는 것을 사용 합니다. 그것을 설정 하는 것은 매우 쉽게 설정, let`sand 프로그래밍 방식으로 또는 구성 파일을 통해 수행할 수 있습니다. XML 구성 파일 (그림 1) 또는 Java 구성 (그림 2)을 사용 하 여이 작업을 수행 하는 방법을 살펴보겠습니다. 10 월 2014 일 블랙 햇 유럽 2014 이벤트에서 내 이야기의 일환으로, 나는 공격자가 피해자를 완벽 하 게 제어 할 수 있도록 새로운 웹 공격 벡터를 제시 신뢰할 수 있는 도메인에서 파일을 사실상 다운로드 하 여 s 시스템. 나는 맬웨어가 업로드 되지 않고 Google.com 및 Bing.com와 같은 고도로 신뢰 된 도메인에서 “다운로드” 할 수 있기 때문에이 기술 반사 파일 다운로드 (RFD)를 호출 하기로 결정 했습니다.

기본 절차는 URL (예: foo. json)에서 경로 확장을 확인 하 고 확장을 사용 하 여 콘텐츠 형식을 확인 하는 것입니다. 확장이 존재 하지 않는 경우 콘텐츠 형식을 지정 하는 쿼리 매개 변수 (예: foo? 형식 = json)를 찾으려고 시도 하 고 실패 하면 요청 “Accept” 헤더를 사용 하 여 응답 콘텐츠 형식을 구성 하려고 합니다. 지정 된 확장이 mediaType 속성에 지정 되지 않은 경우 기본적으로 Java 활성화 프레임 워크 (클래스 경로에 있는 경우) 또는 응용 프로그램 서버 ServletContext를 사용 하 여 올바른 것을 찾는 것을 제외 하 고 모든 것이 좋습니다. 이것은 취약점입니다. 모든 취약점을 보려면 취약점 범주 페이지를 참조 하십시오. 반사 된 파일 다운로드는 응답에 사용자 입력을 반영 하는 페이지와 URL 경로 세그먼트 (이제 더 이상 사용 되지 않음)를 결합 하는 공격입니다. JSONP 주입에 취약 한 웹 서비스는 일반적으로 최종 사용자에 게 멀웨어를 전달 하는 데 사용 됩니다. 참고: 약속 대로, 나는 지금 다운로드에 사용할 수 있는 전체 백서를 게시 했습니다: 백서 “반사 파일 다운로드: 새로운 웹 공격 벡터를”가 렌 Hafif에 의해. Eu-14-Hafif 반사 파일 다운로드-새로운 웹 공격-벡터-wp 반사 된 파일 다운로드 공격을 성공적으로 수행 하려면 세 가지 간단한 요구 사항이 있습니다: SecRule REQUEST_URI “@rx. *.

(박쥐) ($) 단계: 1, id: 100, TFRFI를 차단 하는 메시지: ` 잠재적 반사 파일 다운로드 ` 공격. 앞서 언급 했 듯이 Java 에코 시스템은 아카이브 파일의 높은 수준의 처리를 포함 하는 중앙 라이브러리를 제공 하지 않습니다. 인기 있는 오라클 및 아파치 커먼즈-많이 사용 되는 압축 Api는 일부 보관 지원을 제공 하지만 공개적으로 전체 추출 기능을 제공 하지 않습니다. 이는 사용자가 아카이브 처리 코드를 직접 제작 하는 더 많은 인스턴스를 제공 하는 데 기여 했습니다. 우리는 Java 생태계가 다른 생태계 보다 더 많은 아카이브 라이브러리를가지고 있다는 것을 관찰 했으며, 그 중 상당수는 취약 한 것으로 나타났습니다. 2) 파일 이름 – 취약 한 사이트 또는 API의 URL은 허용 되 고 추가 입력을 허용 합니다. 이는 종종이 경우 공격자가 파일의 확장을 실행 가능한 확장으로 설정 하는 데 사용 됩니다. 3) 다운로드-응답이 다운로드 되 고 파일이 웹 브라우저에 의해 “즉시” 생성 됩니다. 그런 다음 브라우저는 위의 요구 사항 2에서 구문 분석 된 공격자 제어 파일 이름을 설정 합니다. 자바 처럼, 그루비는 또한 모든 취약 한 자바 아카이브 처리 라이브러리의 사용 뿐만 아니라, 다양 한 프로젝트 코드 베이스에 취약 한 조각을가지고 있다.

Comments are closed.