2010-03-08 3 views
4

Internet Explorer에서 XML 파일을 열면 보안 경고가 표시됩니다. IE는 XML보기를위한 멋진 접을 수있는 트리보기를 가지고 있지만 기본적으로 사용하지 않도록 설정되어 있으며 잠재적 보안 구멍에 대한이 무서운 오류 메시지가 표시됩니다. http://www.leonmeijer.nl/archive/2008/04/27/106.aspxXML 파일을 볼 때 IE에서 보안 경고를 표시하는 이유는 무엇입니까?

왜? (포함 된 매크로가 실행되지 않고) XML 파일이 보안상의 허점 일 수 있습니다. 물론, 실행중인 XSLT가 잠재적으로 나쁜 것을 할 수 있지만, 우리는 을 실행하는 것에 대해을 말하는 것이 아닙니다. 우리는 을보고 있습니다.입니다. 왜 IE는 단순히 XML 파일을 텍스트 (접을 수있는 트리 뷰어와 함께)로 표시 할 수 없습니까?

그런데 왜 이것을 보안 구멍으로 표시 했습니까? 누군가 을보고 간단하게 설명 할 수 있습니까? XML 문서를 공격 문서로 사용할 수 있습니까?

답변

1

IE는 여전히 입니다. 최종적으로는 당신이 좋아하는 멋진 트리보기를 보여주고 있지만. 실제로 XML 파일의 변형 된 버전입니다. IIRC는 XSLT를 사용하여 문서를 DHTML로 변환합니다. 따라서 문서는 여전히 렌더링 엔진을 통해 실행 중입니다. 문서를 렌더링하는 과정에서, 태그가 표시되는 경우

<object ... /> 

같은 것을 IE 아마 객체를 가져 와서 문서에로드됩니다 말한다. 객체가 악의적 인 ActiveX 컨트롤이거나 불쾌한 Java 일 경우 실행됩니다.

+0

감사합니다. 그 (것)들을위한 어리석은 방법 같이 거의 확실하게 사용자가 원하는 무슨을 소리가 난다, 그러나 나는 그것이 어떻게 지금 일어 났는가를 이해할다는 것을 짐작한다. – Tav

+0

XML이 렌더링되지 않고 XSLT에서 생성 된 DHTML이 렌더링됩니다. DHTML이'object' 엘리먼트를 포함 할 수있는 유일한 방법은 XSLT가 하나의 엘리먼트를 삽입하고 삽입하지 않는 것입니다. 소스 요소는 이스케이프 된 마크 업 문자로 변환됩니다. 그렇지 않은 경우 IE는 표시하지 않습니다. –

+0

Robert : 당신은 절대적으로 맞습니다. 추가 토론은 아래 답변을 참조하십시오. –

4

이안이 정확하지 않다고 생각합니다. 실제로 진행되는 것은 접을 수있는 트리 뷰어가 HTML이고 자바 스크립트를 포함한다는 것입니다. IE는 XML을 컬러화되고 접을 수있는 HTML로 렌더링하고 확장/축소 코드는 JavaScript로 구현됩니다. 그런 다음 IE는 로컬 파일 시스템에서 열리는 파일에서 JS를 실행하지 못하도록하는 기본 보안 정책에 부딪 히며 "이 웹 페이지"가 ​​스크립트를 실행하는 방법에 대한 경고를 제공합니다.

"차단 된 콘텐츠 허용"을 선택하지 않고 확장/축소 기능이 작동하지 않는다는 사실을 알면이 사실을 확인할 수 있습니다. 스크립트 실행을 허용하면 확장/축소가 갑자기 작동하기 시작합니다.

+0

정확 합니다만 이안의 지적이 유효합니다. – EricLaw

+0

정말요? XML 꺾쇠 괄호가 < 및 >으로 변환되어 렌더링 된 것으로 표시되어 이안 (Ian)의 ''태그 예제에서 악의적 인 코드가로드되는 것을 방지 할 수 있다고 가정했습니다. –

+0

Joel, 저는 집에 없지만 오늘 밤 MS가 웹 사이트에서 찾은 XML을 DHMTL로 변환하기 위해 IE가 XSL (IE 6에서)과 XSLT (IE 6에서)를 사용하는 방법을 자세히 설명한 MSDN 웹 사이트에서 게시합니다. . 특히 XML에 포함 된 구문 분석 구문을 참조하여 최종 렌더링을 만듭니다. 스크립트 물건은 외삽 법입니다. 직장에서 링크를 다시 찾을 수는 없지만 집에서 브라우저 기록에 있습니다. –

관련 문제