0

이것은 보안 질문입니다. 크롬 콘텐츠 스크립트를 통해 코드를 주입하지 않으려 고합니다. 그런 경우이를 감지하는 방법은 무엇입니까?원하지 않는 크롬 컨텐츠 스크립트가 내 페이지에 삽입되는 것을 감지하는 방법은 무엇입니까?

가정 :

내용 스크립트 악성 코드, 그래서 아마 메시지 전달 반응을 방지 할 수 있습니다.

+1

이것은 직접적으로 가능하지 않다고 생각합니다. 어쩌면 악의적 인 코드가 어떤 종류의 조작을 원할지 알면 페이지의 특정 부분이 변경되었는지 확인할 수 있습니다. – Tomer

+1

개념이 이해가되지 않습니다. – charlietfl

답변

3

내 지식으로는 불가능합니다.

  1. 내용 스크립트는 특별한 환경에서 실행 Execution environment에 따르면

    는 고립 된 세계라고

  2. 그들은에 주입 페이지의 DOM에 액세스 할 수 있지만에 페이지에서 생성 된 JavaScript 변수 또는 함수.

  3. 페이지에서 실행되는 JavaScript는 콘텐츠 스크립트로 정의 된 함수 나 함수를 호출 할 수 없습니다.

나는 스크립트를 실행하는 일부 콘텐츠가 있는지 여부를 # 3 확장은 우리의 통제하에 있지 경우, 우리는 아무 생각이 없다라고 우리에게 이야기했다 생각합니다.

0

브라우저에 이러한 스크립트를 추가하여 어떻게 나타나는지 볼 수 있습니다. 이 렌더링 된 HTML에 나타나지 않는 경우, 어쩌면 자바 스크립트를 검출 할 수있다 :

$('script').filter(function() { 
    var src = $(this).attr('src'), 
     result, 
     externalScripts = []; 
    if(src !== undefined){ 
     //check for scripts which are not served from your domain 
     //you could also try just returning the scripts which have no src attribute 
     result = src.match(/^(?:https?:)\/\/expected.domain.com/); 
     if(result === null) { 
      externalScripts.push(src); 
     } 
    } 

    return externalScripts; 
}) 

그러나 크롬 스크립트가 샌드 박스처럼 소리로 감지 할 수 없습니다 가능성이 높습니다. 문제를 예방하는 가장 좋은 방법은 직접 문제를 해결하고 페이지에 어떤 영향을 주는지 확인하는 것입니다.

이 문제를 실제로 방지 할 필요가 있는지 스스로에게 물어야합니다. 이것이 보안상의 위험은 아닌 것 같습니다.