2011-04-18 1 views
0

내 회사는 고객이 우리 웹 사이트에 제안을 게시 할 수 있도록 허용합니다. 이 기능은 facebook 공유 링크와 매우 유사합니다. 고객이 URL을 입력하면 사이트를 긁어 내고 이미지를 검색하고 설명을 저장하고 다른 고객이 나중에 검토 할 수 있도록 Google 데이터베이스에 이미지 URL을 저장합니다.외부 웹 사이트에서 이미지를 렌더링 할 때 XSS 공격을 방지하는 방법

외부 이미지를 저장/조작 할 수있는 리소스가 없습니다. 지금은 이미지 URL을 저장하고 onload로 렌더링하고 싶습니다.

이 기능은 구현되었지만 몇 가지 문제가 있으며 어떤 문제가 발생하지 않도록 전문가의 도움을 받고 싶습니다.

시나리오 1 고객 A는 고품질의 고화질 이미지가 포함 된 웹 사이트에서 5 가지 제안을 게시합니다. 처음으로 사이트에서 해당 이미지를 렌더링하고 검색 할 때 사이트에서 성능이 저하되는 것을 방지 할 수 있습니까? 원래 사이트에 대한 참조를 유지하는 한 로컬 복사본을 저장하는 것이 불법인지 알고 있습니까? 또한 나는 hotlinking에 반대하지만 내 하드 드라이브에 복사본을 유지하는 것이 좋은 아이디어인지 확실하지 않습니다. 나는 facebook이 그들을 저장하지 않는다는 것을 알아 차렸다, 그들은 항상 이미지를 렌더링한다, 나는 그것을 할 올바른 방법이기 때문에 그들이 그것을 그렇게 할 것이라고 확신한다.

b) 고객 B가이 기능을 오용하고 실제로 XSS 공격을 시도합니다. Anti-XSS 4.0을 사용하여 고객이 xss 공격을 시도하지 않고 출력을 인코딩하는 것으로 충분하다는 것을 어떻게 확인할 수 있습니까? 내가 모르고있는 다른 보안 위험 요소가 있습니까?

도움 주셔서 감사합니다.

+0

다른 사람으로부터 이미지를 가져 와서 웹 페이지에 표시하면 저작권 침해로 인해 많은 비용이 발생할 수 있습니다. 합법적으로 웹 사이트에 포함시킬 수없는 이미지를 가리키는 사용자에 대한 보호 기능을 찾아보십시오. –

답변

0

Google 이미지와 유사한 사이트는 이미지를 로컬에 저장하는 것으로 없어집니다. 모든 웹 사이트에서 허가를 요청하는 것이 실용적이지는 않을 것입니다.

XSS 공격을 방지하려면 고객이 자바 스크립트가 아닌 URL을 제공해야합니다. 여기에 XSS 이미지 공격의 예가 몇 가지 있습니다. http://ha.ckers.org/xss.html