2014-01-26 2 views
0

크로스 프레임 스크립팅 공격 (https://www.owasp.org/index.php/Cross_Frame_Scripting)에 대한 PoC를 수행하여 모든 IE 브라우저 버전에서이 공격이 얼마나 위험 할 수 있는지 보여줍니다. 이 공격은 IE8 또는 최신 버전에서 X-FRAME-OPTIONS: deny 헤더를 사용하면 쉽게 예방할 수 있습니다. 그러나 모든 웹 서버 응답에 이러한 헤더가 포함되는 것이 좋을 것입니다. 아래 코드를 사용하면 키 코드가있는 경고 창이 표시되지만 대상 페이지의 양식 인 경우 양식 안에 눌러 진 키의 문자를 볼 수 없습니다. 나는 키를 누르고 (경고 창 형태로 내부의 편지)을 모두 볼 수 있습니다 아래의 간단한 코드를 사용프레임 onkeydown 피드백

<script> 
     window.onkeydown = function() { 
       alert(window.event.keyCode); 
     } 
</script> 
<frameset onload="this.focus()" onblur="this.focus()"> 
     <frame src="http://www.uol.com.br"> 
</frameset> 

.

<script> 
     window.onkeydown = function() { 
       alert(window.event.keyCode); 
     } 
</script> 
<input> 

첫 번째 코드 블록에 뭔가가 있습니까? 감사합니다.

답변

0

코드에 아무 문제가 없을 것입니다. Cross Frame Scripting은 실제 취약성이 아닙니다. 도메인이 일치하지 않는 경우에도 이 보호하는 곳이 있더라도 onkeypress 이벤트가 부모 프레임 내에서 트리거되는 버그가있는 Internet Explorer의 이전 버전에있는 취약점 일뿐입니다.

다른 프레임 간 스크립팅 공격은 프레임이 포함되어 있기 때문에 다른 이름으로 공격하면됩니다 (Cross Site Scripting).

+1

클릭 잭 공격은 어떻게됩니까? 물론, 공격 표면은 작습니다 (의미있는 상태 변경이 마우스 클릭만으로 트리거 될 수있는 페이지). 그러나 그들은 여전히 ​​XSS와 구별됩니다. – Aurand

+0

나는 당신과 동의한다, 그러나 저의 요점은 다음과 같습니다. 찰과상 클릭은 찰과상 소리입니다. 나는 그것을 크로스 프레임 스크립팅이라고 부르지 않을 것입니다. XFS는 몇 가지 다른 유형의 공격 사이의 물을 진흙 투성이로 만드는 반면 취약성은 단일 카테고리 (xss, 브라우저 버그 또는 클릭 잭킹)에 불과합니다. 헤더 파일을 추가하는 것은 좋은 생각인데 동의합니다.이 방법은 응용 프로그램이 아닌 웹 서버 수준에서 수행 할 수 있습니다. – SilverlightFox

+0

감사합니다. @SilverlightFox! IE11을 사용하여 첫 번째 코드를 테스트 한 결과 키가 눌러 진 html 코드가있는 경고 창이 표시되었습니다. 나는 ajax를 사용하여 요청을하고 악의적 인 사이트에 키 코드를 보낼 수 있습니다. 문제는 입력 상자에 각 글자를 볼 수 없다는 것입니다. 즉, 입력하는 내용을 볼 수 없기 때문에 모든 사용자가 사이트에 문제가 있다고 생각할 수 있습니다. –