2008-10-22 3 views
1

:가능한 자바 스크립트 악용? 웹 사이트 (우리 중 하나) 내가 URL에 다음 코드를 입력 할 수 있습니다에서 페이지에서

javascript:createNewWindow('Something', 100, 100, 'Text') 

는 방법 사람이 이용할 수 있습니까?

function createNewWindow(url, widthIn, heightIn, title) 
     { 
      var strOptions='toolbar=0,location=0,directories=0,status=1,menubar=0,scrollbars=1,resizable=1,width=' + widthIn + ',height=' + heightIn; 
      var newWin = open(url,title,strOptions); 
      newWin.focus(); 
     } 
+0

공격자가 createNewWindow의 소스를 알지 못했습니까? 공격자가 소스를 읽을 수 있기 때문입니다. –

+0

좋은 지적. 나는 그들이 자신의 컴퓨터에 다운로드되기 때문에 그것을 읽을 수있을 것 같아요. – osp70

+0

해설 : 공격자로서 createNewWindow에 대한 매개 변수 만 제어 할 수 있습니까? 아니면 실제로 "javascript :"다음에 임의의 코드를 입력 할 수 있습니까? –

답변

1

이 코드에서 createNewWindow() 스크립트는 원시 자바 스크립트보다 더 취약하지 않습니다.

1

createNewWindow() 함수는 window.open()과 완전히 동일한 취약점이 있습니다. 당신은 아마 그것에 대해 걱정할 필요가 없습니다.

코드를 추가하는 방법에 대한 귀하의 의견은 당신이 (또는 쿼리 문자열 매개 변수로) 폼 입력에

javascript:createNewWindow('Something', 100, 100, 'Text') 

을 제출할 수 있었고, 그것은 당신의 응용 프로그램 후, 렌더링 된 HTML에 표시한다는 것을 의미하는 경우 실제로 여러 유형의 공격에는 매우 취약하지만 createNewWindow() 함수로 인한 것은 아닙니다. 이 경우 문제는 브라우저에서 검사되지 않은 데이터를 렌더링하는 것입니다.

+0

createNewWindow에는 취약점이 없습니다. 증거를 게시했습니다. – rook

1

그 자체가 안전하지 않을 수 있으므로 응용 프로그램의 다른 부분에서 악용을 방지해야합니다. 브라우저, 데이터베이스, 외부 서비스, 제어 할 수없는 다른 모든 정보의 유효성을 확인하십시오.

크로스 사이트 스크립팅 (XSS 또는 CSS)에 대해 배우면 해당 코드의 위험을 이해하는 데 도움이됩니다.

0

일반적으로 사이트에서 실행되는 javascript는 취약점의 근원이 아닙니다. 응용 프로그램의 서버 측에 대해 걱정해야합니다.

그러나! 자바 스크립트를 사용하여 사이트에 취약점을 소개 할 수 있습니다. 그 이름은 DOM Based XSS입니다. 게시 한 코드는 DOM 기반 XSS에 취약하지 않습니다.