코더는 보안을 정복 : 공유 및 학습 시리즈 - 로컬 파일 포함 및 경로 통과

게시일: 2019년 7월 4일
by Jaap Karan Singh
사례 연구

코더는 보안을 정복 : 공유 및 학습 시리즈 - 로컬 파일 포함 및 경로 통과

게시일: 2019년 7월 4일
by Jaap Karan Singh
리소스 보기
리소스 보기

많은 취약점과 달리, 사악한 목적을 위해 로컬 파일 포함 및 경로 통과 프로세스를 악용하려면 충분히 숙련 된 공격자, 상당한 시간 및 행운이 필요합니다. 즉, 이 취약점을 무시할 수 있다는 것을 말하는 것이 아닙니다. 숙련된 공격자는 조직에 대한 내부 파일을 켜거나, 디렉터리 구조를 매핑하거나, 위험한 보조 공격에 사용할 수 있는 암호 및 사용자 정보를 도용하는 데 사용할 수 있습니다.

이 에피소드에서는 다음을 배우게 됩니다.

  • 해커가 로컬 파일 포함 및 경로 통과 취약점을 악용하는 방법
  • 제한 없는 로컬 파일 포함 및 경로 트래버스 허용이 위험할 수 있는 이유
  • 이 문제를 찾고 해결하기 위해 사용할 수 있는 정책 및 기술입니다.

공격자는 로컬 파일 포함 및 경로 트래버스를 어떻게 악용합니까?

고전 TV 형사 콜롬보는 항상 "한 가지 더"라고 말하는 데 사용, 바로 손에 사건을 열어 균열 것 정보의 귀중한 조각을 제공하기 전에. 당시에는 중요하지 않은 것처럼 보였고, 거의 항상 용의자에 의해 무시되었지만 항상 그들의 파멸임이 입증되었습니다. 로컬 파일 포함 및 경로 통과 취약점은 다음과 같습니다.

로컬 파일 포함 및 경로 통과 취약점은 ASP, JSP 및 PHP 스크립트와 같은 대부분의 프로그래밍 프레임워크에 존재하는 메커니즘을 포함하는 동적 파일을 사용합니다. 로컬 파일 포함의 경우 공격자는 로컬 서버에 있는 파일의 이름을 헤더 또는 양식 입력 영역과 같은 웹 응용 프로그램의 영역으로 미끄러지게 합니다. 응용 프로그램은 기본 입력을 정상적으로 처리하지만 포함(페이지) 또는 이와 유사한 명령도 처리합니다. 경로 통과에서 공격자는 일반적으로 점, 점 및 슬래시(.)를 사용하여 의심되는 파일에 대한 경로를 정의합니다. /) 변수로 문자. 해커가 실제로 인수의 첫 번째 부분에 대해 신경 쓰지 않는다는 점에서 콜롬보와 매우 유사합니다. 그것은 단순히 그들이 끝에 "한 가지 더"를 추가 하는 수단.

두 경우 모두 공격자는 일반적으로 상당한 양의 시행 착오를 수행해야 합니다. 사이트가 어떻게 구성되는지 잘 모르는 경우 경로 구성및 파일 이름을 추측하는 데 시간이 오래 걸릴 수 있습니다. 즉, 대부분의 사이트는 특정 패턴을 따르며 다소 유사한 디렉터리 및 파일 이름을 가지고 있습니다. 그래서 당신이 생각하는 한 오래 걸리지 않을 수 있습니다. 그리고 지불금이 잠재적으로 매우 수익성이 있다는 것을 감안할 때, 해커가 로컬 파일 포함 및 경로 통과 취약점을 시도하고 악용할 수있는 많은 인센티브가 있습니다.

로컬 파일 포함 및 경로 트래버스 취약점이 위험한 이유는 무엇입니까?

로컬 파일 포함 및 경로 통과 취약점은 공격자가 중요하거나 중요한 파일에 액세스할 수 있으므로 위험합니다. 데이터 파일의 경우 해커가 사용자 암호 또는 기타 개인 정보와 같은 귀중한 것을 얻을 수 있다는 위험이 있습니다. 기본 대상은 사이트의 나머지 부분에 대한 액세스를 제공하기 때문에 종종 암호 또는 사용자 구성 파일입니다. 데이터베이스도 주요 대상입니다. 로컬 파일 포함 및 경로 통과 취약점을 사용하면 공격자가 최악의 시나리오에서 데이터베이스의 전체 내용을 도용할 수 있습니다.

실행 가능한 파일의 경우 공격자가 사이트의 일부를 파괴하거나 시스템 리소스를 낭비하여 일부 유형의 내부 서비스 거부 공격을 장착하는 등의 악의적인 활동을 수행할 수 있다는 위험이 있습니다. 그러나 위험의 전체 범위는 공격자의 독창성과 기술, 그리고 대상 서버에 이미 존재하는 파일에 액세스할 수 있는 파일에 의해서만 제한됩니다.

로컬 파일 포함 및 경로 트래버스로 인한 위협 제거

로컬 파일 포함 및 경로 통과 취약점에 의해 제기 되는 위험 좋은 사이버 보안 관행으로 제거 될 수 있습니다. 기억해야 할 가장 중요한 것은 "파일 포함" 또는 유사한 기능을 가진 다른 명령에서 사용자 입력을 허용하지 않는 것입니다. 응용 프로그램이 허용해야 하는 경우 직접 전달하지 마십시오. 대신 간접 참조 맵을 사용합니다. 간접 참조 맵은 사용자 입력을 사용하여 하드 코딩된 신뢰할 수 있는 값 집합으로 매핑하여 안전하게 사용할 수 있습니다.

다른 많은 취약점과 마찬가지로 쿠키, HTTP 헤더 및 폼 매개 변수와 같은 모든 사용자가 제어하는 입력 영역에 특히 주의를 기울이게 됩니다. 허용 입력은 다른 모든 입력이 명시적으로 거부되는 재사용 가능한 입력을 재열설정해야 합니다. 이 작업을 사용할 수 없는 경우 입력 유효성 검사를 사용하여 숫자, 영숫자 값 등과 같이 허용되는 값을 엄격하게 조절합니다.

로컬 파일 포함 및 경로 트래버스에 대한 자세한 정보

추가 읽기를 위해 로컬 파일 포함 및 경로 통과 악용에 대한 OWASP 테스트 가이드를 살펴볼 수 있습니다. 또한 새로운 방어 지식을 테스트에 넣을 수 있습니다. Secure Code Warrior 사이버 보안 팀이 궁극적인 사이버 전사가 될 수 있도록 하는 플랫폼. 이 취약점을 물리치는 것에 대해 자세히 알아보려면 Secure Code Warrior 블로그.

리소스 보기
리소스 보기

저자

야프 카란 싱

더 알고 싶으신가요?

블로그에서 최신 보안 코딩 인사이트에 대해 자세히 알아보세요.

Atlassian의 광범위한 리소스 라이브러리는 안전한 코딩 숙련도를 확보하기 위한 인적 접근 방식을 강화하는 것을 목표로 합니다.

블로그 보기
더 알고 싶으신가요?

개발자 중심 보안에 대한 최신 연구 보기

광범위한 리소스 라이브러리에는 개발자 중심의 보안 코딩을 시작하는 데 도움이 되는 백서부터 웨비나까지 유용한 리소스가 가득합니다. 지금 살펴보세요.

리소스 허브

코더는 보안을 정복 : 공유 및 학습 시리즈 - 로컬 파일 포함 및 경로 통과

게시일: 2019년 7월 4일
Jaap Karan Singh

많은 취약점과 달리, 사악한 목적을 위해 로컬 파일 포함 및 경로 통과 프로세스를 악용하려면 충분히 숙련 된 공격자, 상당한 시간 및 행운이 필요합니다. 즉, 이 취약점을 무시할 수 있다는 것을 말하는 것이 아닙니다. 숙련된 공격자는 조직에 대한 내부 파일을 켜거나, 디렉터리 구조를 매핑하거나, 위험한 보조 공격에 사용할 수 있는 암호 및 사용자 정보를 도용하는 데 사용할 수 있습니다.

이 에피소드에서는 다음을 배우게 됩니다.

  • 해커가 로컬 파일 포함 및 경로 통과 취약점을 악용하는 방법
  • 제한 없는 로컬 파일 포함 및 경로 트래버스 허용이 위험할 수 있는 이유
  • 이 문제를 찾고 해결하기 위해 사용할 수 있는 정책 및 기술입니다.

공격자는 로컬 파일 포함 및 경로 트래버스를 어떻게 악용합니까?

고전 TV 형사 콜롬보는 항상 "한 가지 더"라고 말하는 데 사용, 바로 손에 사건을 열어 균열 것 정보의 귀중한 조각을 제공하기 전에. 당시에는 중요하지 않은 것처럼 보였고, 거의 항상 용의자에 의해 무시되었지만 항상 그들의 파멸임이 입증되었습니다. 로컬 파일 포함 및 경로 통과 취약점은 다음과 같습니다.

로컬 파일 포함 및 경로 통과 취약점은 ASP, JSP 및 PHP 스크립트와 같은 대부분의 프로그래밍 프레임워크에 존재하는 메커니즘을 포함하는 동적 파일을 사용합니다. 로컬 파일 포함의 경우 공격자는 로컬 서버에 있는 파일의 이름을 헤더 또는 양식 입력 영역과 같은 웹 응용 프로그램의 영역으로 미끄러지게 합니다. 응용 프로그램은 기본 입력을 정상적으로 처리하지만 포함(페이지) 또는 이와 유사한 명령도 처리합니다. 경로 통과에서 공격자는 일반적으로 점, 점 및 슬래시(.)를 사용하여 의심되는 파일에 대한 경로를 정의합니다. /) 변수로 문자. 해커가 실제로 인수의 첫 번째 부분에 대해 신경 쓰지 않는다는 점에서 콜롬보와 매우 유사합니다. 그것은 단순히 그들이 끝에 "한 가지 더"를 추가 하는 수단.

두 경우 모두 공격자는 일반적으로 상당한 양의 시행 착오를 수행해야 합니다. 사이트가 어떻게 구성되는지 잘 모르는 경우 경로 구성및 파일 이름을 추측하는 데 시간이 오래 걸릴 수 있습니다. 즉, 대부분의 사이트는 특정 패턴을 따르며 다소 유사한 디렉터리 및 파일 이름을 가지고 있습니다. 그래서 당신이 생각하는 한 오래 걸리지 않을 수 있습니다. 그리고 지불금이 잠재적으로 매우 수익성이 있다는 것을 감안할 때, 해커가 로컬 파일 포함 및 경로 통과 취약점을 시도하고 악용할 수있는 많은 인센티브가 있습니다.

로컬 파일 포함 및 경로 트래버스 취약점이 위험한 이유는 무엇입니까?

로컬 파일 포함 및 경로 통과 취약점은 공격자가 중요하거나 중요한 파일에 액세스할 수 있으므로 위험합니다. 데이터 파일의 경우 해커가 사용자 암호 또는 기타 개인 정보와 같은 귀중한 것을 얻을 수 있다는 위험이 있습니다. 기본 대상은 사이트의 나머지 부분에 대한 액세스를 제공하기 때문에 종종 암호 또는 사용자 구성 파일입니다. 데이터베이스도 주요 대상입니다. 로컬 파일 포함 및 경로 통과 취약점을 사용하면 공격자가 최악의 시나리오에서 데이터베이스의 전체 내용을 도용할 수 있습니다.

실행 가능한 파일의 경우 공격자가 사이트의 일부를 파괴하거나 시스템 리소스를 낭비하여 일부 유형의 내부 서비스 거부 공격을 장착하는 등의 악의적인 활동을 수행할 수 있다는 위험이 있습니다. 그러나 위험의 전체 범위는 공격자의 독창성과 기술, 그리고 대상 서버에 이미 존재하는 파일에 액세스할 수 있는 파일에 의해서만 제한됩니다.

로컬 파일 포함 및 경로 트래버스로 인한 위협 제거

로컬 파일 포함 및 경로 통과 취약점에 의해 제기 되는 위험 좋은 사이버 보안 관행으로 제거 될 수 있습니다. 기억해야 할 가장 중요한 것은 "파일 포함" 또는 유사한 기능을 가진 다른 명령에서 사용자 입력을 허용하지 않는 것입니다. 응용 프로그램이 허용해야 하는 경우 직접 전달하지 마십시오. 대신 간접 참조 맵을 사용합니다. 간접 참조 맵은 사용자 입력을 사용하여 하드 코딩된 신뢰할 수 있는 값 집합으로 매핑하여 안전하게 사용할 수 있습니다.

다른 많은 취약점과 마찬가지로 쿠키, HTTP 헤더 및 폼 매개 변수와 같은 모든 사용자가 제어하는 입력 영역에 특히 주의를 기울이게 됩니다. 허용 입력은 다른 모든 입력이 명시적으로 거부되는 재사용 가능한 입력을 재열설정해야 합니다. 이 작업을 사용할 수 없는 경우 입력 유효성 검사를 사용하여 숫자, 영숫자 값 등과 같이 허용되는 값을 엄격하게 조절합니다.

로컬 파일 포함 및 경로 트래버스에 대한 자세한 정보

추가 읽기를 위해 로컬 파일 포함 및 경로 통과 악용에 대한 OWASP 테스트 가이드를 살펴볼 수 있습니다. 또한 새로운 방어 지식을 테스트에 넣을 수 있습니다. Secure Code Warrior 사이버 보안 팀이 궁극적인 사이버 전사가 될 수 있도록 하는 플랫폼. 이 취약점을 물리치는 것에 대해 자세히 알아보려면 Secure Code Warrior 블로그.

우리는 당신에게 우리의 제품 및 / 또는 관련 보안 코딩 주제에 대한 정보를 보낼 수있는 귀하의 허가를 바랍니다. 우리는 항상 최대한의주의를 기울여 귀하의 개인 정보를 취급 할 것이며 마케팅 목적으로 다른 회사에 판매하지 않을 것입니다.

전송
양식을 제출하려면 '분석' 쿠키를 활성화하세요. 완료되면 언제든지 다시 비활성화할 수 있습니다.