사이트가 iframe에 삽입되는 것을 방지하기 위해 안티 프레이밍 JavaScript를 구현했습니다. 그러나 프레임 버스팅 노력을 우회할 수 있는 악성 코드를 발견했습니다. 이 문제는 흥미로운 질문을 제기합니다. 프레임 버스팅 버스터를 능가할 수 있습니까?
공격자의 코드는 페이지 탐색 시도 중에 카운터를 증가시키고 타이머를 사용하여 페이지를 HTTP로 응답하는 원격 서버로 리디렉션하는 방식으로 작동합니다. 상태 코드 204, 탐색을 효과적으로 방지합니다.
안티 프레이밍 코드를 우회할 수 있으면 공격자가 사용하는 카운터 및 타이머 메커니즘을 무력화하여 제어권을 다시 얻는 것이 가능합니다. 방법은 다음과 같습니다.
onbeforeunload 이벤트는 공격자가 카운터를 증가시키는 데 사용됩니다. 비활성화하려면 다음을 사용하세요.
window.onbeforeunload = null;
setInterval 타이머를 일시 중지하려면 ClearInterval 함수를 활용하세요.
var intervalID = setInterval(function() { // ... }, 1); clearInterval(intervalID);
주요 브라우저의 경우 X-Frame-Options 헤더를 사용하면 스크립트가 비활성화된 상태에서도 프레이밍이 가능합니다. 예:
X-Frame-Options: SAMEORIGIN
위 내용은 프레임 버스팅 버스터를 능가할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!