검증되지 않은 리디렉션 및 전달
인터넷에있는 대부분의 웹 응용 프로그램은 사용자를 다른 페이지 나 다른 외부 웹 사이트로 자주 리디렉션하고 전달합니다. 그러나 이러한 페이지의 신뢰성을 확인하지 않고 해커는 피해자를 피싱 또는 맬웨어 사이트로 리디렉션하거나 전달을 사용하여 승인되지 않은 페이지에 액세스 할 수 있습니다.
간단한 다이어그램을 통해이 결함의 위협 원, 공격 벡터, 보안 약점, 기술적 영향 및 비즈니스 영향을 이해하겠습니다.
예
검증되지 않은 리디렉션 및 전달의 몇 가지 고전적인 예는 다음과 같습니다.
매개 변수 소요 redirect.jsp, - 우리는 응용 프로그램이 페이지가 있다고 가정 해 봅시다 redirectrul을 . 해커는 피싱을 수행하거나 멀웨어를 설치하는 사용자를 리디렉션하는 악성 URL을 추가합니다.
http://www.mywebapp.com/redirect.jsp?redirectrul=hacker.com
사용자를 사이트의 다른 부분으로 전달하는 데 사용되는 모든 웹 응용 프로그램입니다. 동일한 작업을 수행하기 위해 일부 페이지는 매개 변수를 사용하여 작업이 성공한 경우 사용자가 리디렉션되어야하는 위치를 나타냅니다. 공격자는 응용 프로그램의 액세스 제어 검사를 통과하는 URL을 만든 다음 공격자가 액세스 권한이없는 관리 기능으로 공격자를 전달합니다.
http://www.mywebapp.com/checkstatus.jsp?fwd=appadmin.jsp
예방 메커니즘
리디렉션 및 전달을 사용하지 않는 것이 좋습니다.
피할 수없는 경우 대상을 리디렉션 할 때 사용자 매개 변수를 포함하지 않고 수행해야합니다.