웹 애플리케이션에 대한 침투 테스트를 수행 중이며 window.history.back()
를 사용하여 이전으로 돌아가고 있습니다. 페이지. 사용하기에 안전한가요?
예를 들어 google.com을 방문한 다음 웹 애플리케이션으로 이동 한 다음 뒤로 누르면 google.com이 다시 표시됩니다. 마찬가지로 공격자가 iframe (창의 기록에 저장되는 경우)에서이를 시뮬레이션하거나 사용자가 URL을 방문 (무의미한 경우)하거나 일종의 캐싱 메커니즘을 변경할 수있는 경우. 이것을 악용해야합니까?
실제 문제입니까, 아니면 지나치게 생각하고 있습니까?
답변
windows.history Mozilla 웹 사이트 에 대해 읽을 수 있습니다. 간단히 설명하면 history.back ()이 브라우저에서 뒤로 버튼을 클릭하는 것과 다르지 않다고 설명합니다. windows.history.back, 하지만 window.history 객체 자체에 대해서는 지나치게 생각하고 계십니다. .
제가 설명하면 세부적으로는 주제에서 벗어 났지만 window.history.pushState () 또는 window.history.replaceState () 메서드가 더 걱정할 가치가 있다고 곧 주장 할 수 있습니다. 브라우저 기록 조작이 가능합니다. 그것에 대해 확인하십시오 :
브라우저 기록 조작
답변
페이지에 링크가 window.history.back()
인 경우 사용자가 웹 애플리케이션 내의 링크에 배치 한 신뢰를 악용하는 공격에 노출 될 수 있습니다. 개방형 리디렉션의 형태가 가능합니다. 사용자가 웹 애플리케이션으로 리디렉션되는 공격자의 사이트를 방문하면 백 링크가 공격자의 사이트로 이동하여 피싱 페이지를 표시 할 수 있습니다.
따라서 사용자는 모든 것을 신뢰할 수 있습니다. 응용 프로그램 내의 링크는 신뢰할 수 있지만 링크는 실제로 다른 사이트에있을 수 있습니다. 실제 피싱 공격은 피해자가 먼저 공격자의 사이트를 방문하고 신뢰할 수있는 웹 애플리케이션을 방문하고 있다는 확신을 갖고 신뢰할 수있는 애플리케이션을 떠나는 것을 알지 못한 채 뒤로 버튼을 클릭해야하기 때문에 어렵습니다.
하단 또는 기타 링크입니다. 사용자가 공격자의 사이트로 돌아 가기 때문에 공격자는 해당 페이지에 안전하게 링크 할 수 있습니다. '. 사용자가 도움말 페이지에있는 동안 도메인을 확인하면 모든 것이 확인됩니다.하지만 이러한 페이지는 드물고 (특히 최신 웹 디자인에서) 위험은 매우 낮습니다.