2016-12-19 3 views
0

Amazon Web Services에서 OpenCart 2.3을 호스팅하고 있습니다. XSS로부터 보호하기위한 조치를 취했습니다. 즉 AWS 설정에서 XSS 보호를 활성화했습니다. 구글 크롬에, 당신은 우리의 헤더를 볼 것은 : 스크립트가 한 의미OpenCart 2.3 온라인 스토어에서 XSS 보호를 추가하는 방법

<html> 
<script>Alert('hello world')</script> 
</html> 

체크 아웃에, 아니 경고가 표시되지 않은 : 내가 한

X-XSS-Protection:1; mode=block 

한 테스트는 체크 아웃 주석에 다음을 입력했다 실행하지 않습니까? 데이터베이스를 검사하여 태그가 인코딩되었음을 확인했습니다. 예 : <html>으로 저장 됨 이것은 우리 사이트가 XSS로부터 보호되고 있음을 의미합니까?

다른 어떤 단계를 우리는 완전히 X-XSS-Protection 헤더는 당신이하지 생각하지 않습니다 XSS

답변

1

을 방지하기 위해 취할 수 있습니다. 좋은 SO 개요는 What is the http-header "X-XSS-Protection"을 참조하십시오. 그러나 tl; dr은 IE8 +에서 일부 동작을 가능하게합니다.


이 본성으로, 당신은 하나의 행동에 대하여 보호 할 수있는 일이 아니다, XSS, 더 광범위하게 말하기. 어떤 사용자 입력을받을 때마다, 사용자가 입력하고자하는 형식을 존중한다는 것을 확인하기 위해 특별히주의해야합니다. 사용자에게 그 입력을 제공 할 때마다이를 적절하게 처리해야합니다. 그러면 악의적 인 스크립트 해당 사용자의 컨텍스트에서 실행되지 않으며 불량이 일입니다.

OWASP는 매우 좋은 리소스 인 XSS prevention cheatsheet을 가지고 있습니다.

그러나 원칙적으로 표시 할 영역에 따라 사용자 제공 입력을 항상 이스케이프 처리하십시오. 예를 들어 사용자가 쇼핑 항목의 제목에 대한 텍스트를 제공 한 경우 이 단지 텍스트 여야하고 이라는 문자가 단지 텍스트 (예 : inline 중 하나)를 기대하는 HTML 요소에 사용 된 경우 HTML 이스케이프 처리 등이 있습니다. 한편, 사용자가 URL을 제공했다면 URL이 유효한 컨텍스트 (예 : 이미지 원본)와 URL 이스케이프 처리에 사용해야합니다. 사용자가 자신의 HTML, CSS 또는 스크립트를 제공하는 것을 허용하지 마십시오. 그리고,


마지막으로 CSS 등의 스크립트에서 사용자가 제공 한 값을 넣어 방지하려면 OpenCart를 사용하고 있기 때문에, 당신은 이미 수행 한 작업을 다른 사람의 부하 혜택 있습니다. 그래서, 여러분이 뭔가 특별한 일을하지 않고 프레임 워크의 내부 비트로 놀지 않는 한, 여러분은 아마도 심해로 빠져들지 않을 것입니다. 물론 프레임 워크 내부의 규칙을 따르십시오.

관련 문제