2010-11-23 2 views
1

나는 사용자가 이미지의 URL을 지정합니다 것을 특징으로 페이지를 만드는 오전. 이 URL은 DB에 저장되고 이미지를 표시하기 위해 다시 검색됩니다. 지금까지는 사용자가 장난하지 않으려 고하는 것이 좋습니다.src 경로가 사용자에 의해 지정되는 이미지의 src 속성을 설정할 때주의해야합니까?

하지만 지금 http://ha.ckers.org/xss.html으로 가고, 사용자는 실제로 스크립트 URL을 지정할 수 있습니다.

<IMG SRC=javascript:alert('XSS')> 

페이지에서 시도했지만 아무런 해가 없습니다. 그래서 요점은, 난 정말 사용자가 지정하는 것입니다 무엇을 걱정해야합니까된다 [더 경고가 표시되지 않습니다]? 그렇다면 고려해야 할 사례/시나리오는 무엇이며이를 수행하는 방법은 무엇입니까?

답변

5

은 당신이 신뢰할 수없는 소스에서 아무것도 얻을, 당신은 알아서해야합니다. 이 경우 사용자는 html을 손상시킬 수있는 해로운 코드를 작성할 수 있습니다.

<img alt='' src='' />alert('xss');<!--'--> 

사용자 입력은 다른 장소에서 사용될 때 다른 접근 방식으로 처리되어야합니다. 예 : URL 인코딩, Html 인코딩, Javascript 인코딩. 요약

는 사용자 입력을 신뢰하지 않는!

0

또한 그는 일부 PHP-물건을 수행 myevilscript.php 같은 값을 제공 할 수있다. 그래서 사실은 당신이 정말로 데이터베이스에 저장하기 전에이 :

1

을하지 말아야 있는지 확인은 다음과 같습니다

  1. 유효한 URL
  2. 유효한 이미지 ((각 서버 측 언어는 자신의 방법이있다) 서버 측에서 XMLHTTP/WebRequest 클래스의 일종을 사용하고

것은 당신이 ASP.NET 단계 # 2가 성공이고 비트 맵 인 경우 WebResponse를 스트림을 사용하여 볼 새 비트 맵을 만드는 간단한 문제가 될 경우) 내용을 구문 분석 유효한.