2013-05-21 2 views
6

다른 사람들이 iframe (반드시 자바 스크립트와 같은 고급 기술을 사용하지 않아도 됨)이 포함 된 웹 페이지에 퍼가기를 원하는 동적 웹 페이지가 있습니다. 대신 자신을 디자인과 스타일의 모든 종류를 제공내 웹 페이지에 임의의 외부 스타일 시트를 포함시키는 것이 안전합니까?

, 나는/<link type="text/css" rel="stylesheet" href 중 & hellip 승 URL을 통해 같은 외부 스타일 시트를하는 HTTP GET 매개 변수를 통해 내 페이지에 대한 자신의 스타일 시트를 제공하도록 허용에 대해 생각하고, 포함하고 있습니다; 내 페이지에.

안전한가요? 내 웹 사이트의 보안 패러다임을 위반합니까? 나는 여분의 텍스트가 CSS만으로도 삽입 될 수 있다는 것을 알고 있으며 실제로 요소는 제거 될 수있다. (이것은 내 사용자에게 그러한 기능을 제공하는 전체 요점이다.) 그러나 내가 알고 있어야하는 것은 무엇인가?

악의있는 ​​사람들이 내 http 리퍼러로부터 이익을 얻고 일부 수표에 위배되거나 텍스트로 제한된 CSS 삽입을 사용하여 이러한 CSS를 통해 내 사이트에 링크를 삽입 할 수 있습니까?

+0

외부 리소스에서 (무엇이든) 가져 오는 것은 보안상의 위험이 될 수 있습니다. 그러나 당신의 "연결"quesion에 대답하기 : 아니오. 요소를 숨기고 텍스트를 추가 할 수는 있지만 css로는 링크를 만들 수 없습니다 (또는 최소한 크로스 사이트 srcipting이기 때문에 브라우저에서 차단해야합니다). –

+3

[CSS 스타일 시트의 교차 사이트 스크립팅] (http://stackoverflow.com/q/3607894/102937) –

+0

이 링크는 http://stackoverflow.com/questions/13876961/how-do- i-sure-user-input-is-css-and-not-malicious-code 인 경우, 내 사이트에 텍스트 입력이 없습니다. 필자는 자신의 도메인에 사용자 입력을 저장하지 않고 외부 스타일 시트를 참조 만 허용하려고합니다. – cnst

답변

0

CSS는 링크 가능한 콘텐츠를 삽입 할 수 없습니다. 이미 존재하는 것만 스타일을 지정하고 위치를 지정하고 숨길 수 있습니다. 물론 사람들은 :before:after 텍스트로 페이지를 엉망으로 만들 수 있습니다. URL 자체가 아니라 기존 링크의 라벨을 조금 혼란스럽게 만들거나 변경하는 경우가 있습니다.

3

일반적으로, 아니오, allowing third-party CSS is not safe. 일부 구현은 CSS에서 JavaScript를 허용합니다. 즉, 사용자가 CSS를 수정할 수있게하여 페이지의 컨텍스트에서 임의의 JavaScript를 실행할 수있게합니다.

그러나 이것이 "화이트 라벨"페이지의 일종 인 경우, 그것이 삽입 된 사이트의 일부인 것처럼 보이고 실제 페이지라는 사실은 구현 세부 사항에 불과합니다. 큰 우려처럼 보입니다. "제 3 자"CSS를 지정하는 사람은 사이트 소유자이기 때문에 그 시점에 제 3자인 것은 아닙니다. 그들은 XSS에 참여하지 않을 것입니다!

하지만 CSS를 제어하는 ​​사람이 실제로 제어 할 수 있기 때문에 아무도 CSS를 제어 할 수있는 페이지에 넣지 않아야합니다.

+0

그건 내 걸릴뿐입니다. 물론 사이트 소유자가 악성 콘텐츠를 삽입 할 수는 있지만 그 이유는 무엇입니까? –

+0

글쎄요,이 사이트는 최종 사용자 (대개 외부 CSS는 없지만 잠재적으로 쿠키가있는 쿠키)와 웹 개발자 (외부 CSS 포함)가 모두 사용할 수 있도록 만들어졌으며 문제를 만들고 싶지 않습니다. 각 그룹에 대해 두 개의 다른 도메인을 사용하면 너무 복잡합니다.그렇다면 CSS의 JavaScript가 어떤 컨텍스트에서 실행됩니까? (a) 내 페이지가 Referer로 표시되도록 링크를 추가하고 (b) 내 도메인의 쿠키를 읽거나 변경하거나 설정할 수 있습니까? – cnst

+0

@cnst : 구현에 따라 다릅니다. 다른 에이전트에는 스크립트 실행으로 이어질 수있는 다양한 기능이 있으며 대부분의 특징을 알지 못합니다. 가장 안전한 가정은 "사람들이 귀하의 페이지에 임의의 SCRIPT 태그를 넣는 것과 같습니다." – Chuck

관련 문제