코더는 보안을 정복 : 공유 및 학습 시리즈 - 원격 파일 포함

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

코더는 보안을 정복 : 공유 및 학습 시리즈 - 원격 파일 포함

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

이 블로그 시리즈를 읽는 분들은 이전에 설명한 원격 파일 포함 취약점과 로컬 파일 포함 및 경로 통과 취약점 사이에 많은 유사점을 알 수 있습니다. 권장 수정 사항과 마찬가지로 근본 원인은 비슷합니다.

여러 가지 면에서 원격 파일 포함 취약점은 로컬 파일보다 훨씬 더 위험하며 악용하기가 더 쉽습니다. 따라서 가능한 한 빨리 발견하고 해결해야합니다. 또는 더 나은 아직, 웹 응용 프로그램은 처음에 발생 하지 않도록 하는 방식으로 설계 해야 합니다.

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

  • 해커가 원격 파일 포함 취약점을 악용하는 방법
  • 원격 파일 포함을 허용하는 것이 위험한 이유
  • 이 문제를 해결할 수 있는 기술입니다.

공격자는 원격 파일 포함을 악용하는 방법은 무엇입니까?

원격 파일 포함 취약점은 대부분의 프로그래밍 프레임워크에 존재하는 "동적 파일 포함" 명령 또는 메커니즘을 활용합니다. 이 기능은 개발자가 보조 서버에 있는 파일을 사용하여 응용 프로그램 서버에서 활동을 실행할 수 있도록 하기 위한 것입니다. 분명히, 이것은 잘못된 손에 위험 할 수 있습니다.

공격자가 이 기능을 악용하는 방법은 제어되지 않는 사용자 입력을 허용하는 웹 사이트 또는 응용 프로그램을 찾는 것입니다. 파일을 생성하는 시작점으로 사용됩니다.

예를 들어 사이트가 GET 함수를 사용하여 페이지 = request.getParameter("페이지")와 같은 페이지를 로드하는 경우 페이지 포함; 그런 다음 공격자는 페이지 명령을 사용하여 쿼리를 보낼 수 있지만 사이트의 URL을 사용하여 제어하고 실행하려는 파일에 경로를 제출합니다. 그런 다음 쿼리가 서버로 전달되고 원격 파일이 호스트에서 실행됩니다. 이제 신뢰할 수 있는 앱의 일부이기 때문에 활동이 허용됩니다.

원격 파일 포함 취약점이 위험한 이유는 무엇입니까?

원격 파일 포함에 의해 제기 되는 위험의 수준은 매우 높다. 공격자가 실행하는 파일이 호스트에 있어야 하고 공격자가 시행착오를 사용하여 찾을 수 있는 로컬 파일 포함 취약점과 달리 원격 파일 포함과 같은 제한사항은 없습니다. 공격자는 자신의 컴퓨터 또는 사용자가 제어하는 사이트에 존재하기 때문에 악용하려는 파일의 위치를 알고 있습니다. 또한 파일을 손으로 선택할 수 있으며 악용 하기 전에 대상 컴퓨터에 존재할 필요가 없습니다. 이 파일은 원격 호스트를 악용하기 위해 특별히 작성된 스크립트로 구성될 수도 있습니다.

즉, 공격자가 원격 파일 포함 취약점을 찾아 악용할 수 있게 되면 응용 프로그램 이나 전체 사이트에 대한 전체 제어를 확보하는 것을 막을 수 없습니다. 물론, 거기에 저장된 데이터는 그들의 침략으로부터 안전할 것입니다.

원격 파일 포함 취약점 제거

사용자 입력이 실행을 위해 파일 포함 명령에 직접 전달되는 것을 허용하지 마십시오. 대신 명령의 간접 참조 맵을 사용하고 거기에서 명령만 실행합니다. 간접 참조 맵은 신뢰할 수 없는 사용자 입력을 서버에서 하드코딩된 신뢰할 수 있는 값 집합에 매핑합니다. 사용자가 데이터를 입력할 수 있는 영역을 화이트리스트화하고 HTTP 헤더, 양식 매개 변수 및 쿠키를 해당 목록에 포함시키는 것을 잊지 마세요. 이렇게 하면 파일을 만들려는 공격자가 명령을 포함할 수 있는 창이 닫힙니다.

보너스로, 사용자 생성 콘텐츠의 적절한 위생 및 검증 및 명령을 실행하기 위해 참조 맵을 사용하면 원격 파일 포함 취약점을 스쿼시 할뿐만 아니라이 버그의 위험한 사촌, 로컬 파일 포함 및 경로 통과 악용을 포함하여 꽤 많은 다른 사람들도 스쿼시합니다.

원격 파일 포함에 대한 자세한 정보

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

리소스 보기
리소스 보기

저자

야프 카란 싱

더 알고 싶으신가요?

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

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

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

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

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

리소스 허브

코더는 보안을 정복 : 공유 및 학습 시리즈 - 원격 파일 포함

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

이 블로그 시리즈를 읽는 분들은 이전에 설명한 원격 파일 포함 취약점과 로컬 파일 포함 및 경로 통과 취약점 사이에 많은 유사점을 알 수 있습니다. 권장 수정 사항과 마찬가지로 근본 원인은 비슷합니다.

여러 가지 면에서 원격 파일 포함 취약점은 로컬 파일보다 훨씬 더 위험하며 악용하기가 더 쉽습니다. 따라서 가능한 한 빨리 발견하고 해결해야합니다. 또는 더 나은 아직, 웹 응용 프로그램은 처음에 발생 하지 않도록 하는 방식으로 설계 해야 합니다.

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

  • 해커가 원격 파일 포함 취약점을 악용하는 방법
  • 원격 파일 포함을 허용하는 것이 위험한 이유
  • 이 문제를 해결할 수 있는 기술입니다.

공격자는 원격 파일 포함을 악용하는 방법은 무엇입니까?

원격 파일 포함 취약점은 대부분의 프로그래밍 프레임워크에 존재하는 "동적 파일 포함" 명령 또는 메커니즘을 활용합니다. 이 기능은 개발자가 보조 서버에 있는 파일을 사용하여 응용 프로그램 서버에서 활동을 실행할 수 있도록 하기 위한 것입니다. 분명히, 이것은 잘못된 손에 위험 할 수 있습니다.

공격자가 이 기능을 악용하는 방법은 제어되지 않는 사용자 입력을 허용하는 웹 사이트 또는 응용 프로그램을 찾는 것입니다. 파일을 생성하는 시작점으로 사용됩니다.

예를 들어 사이트가 GET 함수를 사용하여 페이지 = request.getParameter("페이지")와 같은 페이지를 로드하는 경우 페이지 포함; 그런 다음 공격자는 페이지 명령을 사용하여 쿼리를 보낼 수 있지만 사이트의 URL을 사용하여 제어하고 실행하려는 파일에 경로를 제출합니다. 그런 다음 쿼리가 서버로 전달되고 원격 파일이 호스트에서 실행됩니다. 이제 신뢰할 수 있는 앱의 일부이기 때문에 활동이 허용됩니다.

원격 파일 포함 취약점이 위험한 이유는 무엇입니까?

원격 파일 포함에 의해 제기 되는 위험의 수준은 매우 높다. 공격자가 실행하는 파일이 호스트에 있어야 하고 공격자가 시행착오를 사용하여 찾을 수 있는 로컬 파일 포함 취약점과 달리 원격 파일 포함과 같은 제한사항은 없습니다. 공격자는 자신의 컴퓨터 또는 사용자가 제어하는 사이트에 존재하기 때문에 악용하려는 파일의 위치를 알고 있습니다. 또한 파일을 손으로 선택할 수 있으며 악용 하기 전에 대상 컴퓨터에 존재할 필요가 없습니다. 이 파일은 원격 호스트를 악용하기 위해 특별히 작성된 스크립트로 구성될 수도 있습니다.

즉, 공격자가 원격 파일 포함 취약점을 찾아 악용할 수 있게 되면 응용 프로그램 이나 전체 사이트에 대한 전체 제어를 확보하는 것을 막을 수 없습니다. 물론, 거기에 저장된 데이터는 그들의 침략으로부터 안전할 것입니다.

원격 파일 포함 취약점 제거

사용자 입력이 실행을 위해 파일 포함 명령에 직접 전달되는 것을 허용하지 마십시오. 대신 명령의 간접 참조 맵을 사용하고 거기에서 명령만 실행합니다. 간접 참조 맵은 신뢰할 수 없는 사용자 입력을 서버에서 하드코딩된 신뢰할 수 있는 값 집합에 매핑합니다. 사용자가 데이터를 입력할 수 있는 영역을 화이트리스트화하고 HTTP 헤더, 양식 매개 변수 및 쿠키를 해당 목록에 포함시키는 것을 잊지 마세요. 이렇게 하면 파일을 만들려는 공격자가 명령을 포함할 수 있는 창이 닫힙니다.

보너스로, 사용자 생성 콘텐츠의 적절한 위생 및 검증 및 명령을 실행하기 위해 참조 맵을 사용하면 원격 파일 포함 취약점을 스쿼시 할뿐만 아니라이 버그의 위험한 사촌, 로컬 파일 포함 및 경로 통과 악용을 포함하여 꽤 많은 다른 사람들도 스쿼시합니다.

원격 파일 포함에 대한 자세한 정보

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

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

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