Jumping Bytes and Hopping Bits
the church of tech
Menu

파일 다운로드 취약점 절대경로 May 13, 2019

다음은 사용자 입력을 기반으로 파일의 정식 경로를 검증 하는 몇 가지 간단한 Java 코드의 예입니다. 파일 파일 = 새 파일 (BASE_DIRECTORY, userInput); getCanonicalPath ()를 사용 하는 경우 (BASE_DIRECTORY) {//프로세스 파일} 우리는 보안 TOR에 대해 이야기 하는 것 처럼 당신은 안전 하 게 온라인을 유지 하 고 추적 얻을 수 있는 네트워크입니다. 브라우저 다운로드 사용자 입력을 파일 경로에 배치 하는 많은 응용 프로그램은 경로 트래버스 공격에 대 한 일종의 방어를 구현 하 고이를 우회 하는 경우가 많습니다. 2) 파일 이름 – 취약 한 사이트 또는 API의 URL은 허용 되 고 추가 입력을 허용 합니다. 이는 종종이 경우 공격자가 파일의 확장을 실행 가능한 확장으로 설정 하는 데 사용 됩니다. 그러나 경로 유효성을 검사 하거나 파일 개체를 만들기 전에 절대 경로 시퀀스를 포함 하지 않도록 수정 합니다. 이를 통해 시스템 속성을 제어할 수 있는 모든 사람이 사용 되는 파일을 확인할 수 있습니다. 이상적으로 경로는 일종의 응용 프로그램 또는 사용자 홈 디렉터리와 관련 하 여 해결 되어야 합니다. 설명서는 첫 번째 또는 두 번째 매개 변수가 절대 경로 인지 여부에 따라 여러 가지 시나리오에 대해 설명 합니다. 나에 게 놀라운 경우는 Path에 두 번째 매개 변수가 있는 경우입니다.

결합은 절대 경로이 고 결과는 해당 경로입니다. 첫 번째 매개 변수는 무시 됩니다. 위의 예와 유사한 코드가 있는 웹 응용 프로그램에 대 한 의미는 중요 합니다. 이 요청을 전송 하는 사용자는 Download_file을 의미 합니다. 워드 프레스의 경우, 다음은 전체 경로 공개 취약점을 방지 하는 몇 가지 방법입니다:-php .ini 파일에서 “display_errors = off”와 같은 줄을 추가 할 수 있습니다. 따옴표 없이). – Htaccess 파일에서 따옴표 없이 “php_flag display_errors off” 라는 줄을 추가할 수 있습니다. 리플렉션된 파일 다운로드 공격이 성공 하려면 다음과 같은 세 가지 간단한 요구 사항이 있습니다. (파일.

expand_path (__FILE__)를 입력 합니다. /.. 파일 @file expand_path)을 참조 하십시오. 이제 예제를 살펴본 것 처럼 여기에서 주요 차이점을 볼 수 있을 것입니다 (public_filename). LFI/RFI를 사용 하면 자원이 로드 되어 현재 애플리케이션의 컨텍스트에서 실행 됩니다. 그러나 임의 파일 다운로드의 경우 기본적으로 웹 응용 프로그램의 다운로드 기능을 남용 하 여 사용자 입력을 특정 디렉터리로 제한 하지 않습니다. 사용자 입력은 디렉토리를 넘어 시스템의 다른 중요 한 파일을 다운로드 할 수 있습니다. LoadImage URL은 filename 매개 변수를 가져와서 지정 된 파일의 내용을 반환 합니다. 이미지 파일 자체는 위치에서 디스크에 저장 됩니다. 이미지를 반환 하기 위해 응용 프로그램은이 기본 디렉터리에 요청 된 파일 이름을 추가 하 고 파일 시스템 API를 사용 하 여 파일이 있는 내용을 읽습니다. 위의 경우 응용 프로그램은 다음 파일 경로에서 읽습니다.

.NET 웹 응용 프로그램에 대 한 코드 기반 평가를 수행 하는 동안 최근에 필자는 경로에서 놀라운 기능을 발견 했습니다. .NET Core의 결합 기능입니다. Path. 결합은 두 개의 파일 경로를 인수로 취합니다. 이 두 가지를 연결 하 여 전체 경로를 가져오고, 일반적으로 해당 파일에 대 한 읽기 또는 쓰기 호출을 수행 합니다. 웹 응용 프로그램의 컨텍스트에서 첫 번째 매개 변수는 일반적으로 이미지 또는 사용자 문서의 저장 위치를 가리키는 절대 디렉터리 경로입니다. 두 번째 매개 변수는 종종 사용자 제어, 어느 정도. 예를 들어 다음과 같은 요청: Trustwave는 응용 프로그램 소유자가 백서에 설명 된 완화를 구현 하 여 RFD 취약점을 완화 하도록 권장 합니다. 완화를 구현 하는 데는 시간이 걸리고, 영구 수정이 적용 될 때까지 WAF 사용자는 다음 사용자 지정 규칙을 추가 하 여 활성 프로브 및 반사 된 파일 다운로드 취약점의 악용을 탐지할 수 있습니다. 절대 경로를 사용할 수 있습니다. 파일 시스템 루트 (예: filename =/etc/passwd)는 순회 시퀀스를 사용 하지 않고 직접 참조 합니다.

Categories: Uncategorized