2012-08-22 2 views
2

내 상황이 약간 다르기 때문에 편집하고 표시하는 데 CKEditor를 사용하고 있으며 제출 된 문자열은 CKEditor 내부에만 표시됩니다. ckeditor로 xss 예방

나는이 XSS 시도 :

<IMG """><SCRIPT>alert("XSS")</SCRIPT>"> 

나는 CKEditor는 공격자로 데이터베이스에 가기 전에 무엇을 중요하지 않습니다 알고 있기 때문에 내가 직접 백엔드에서,하지 CKEditor하여 데이터베이스에이 추가를 할 수 항상 CKEditor를 다루지 않고 원시 HTTP 요청을 보냅니다. 내 깜짝 CKEditor으로

나에게 보여줍니다이 :

{cke_protected_1}"> 

그래서 CKEditor는 XSS를 방지하기 위해 뭔가를하고있다, 그리고 나는 XSS 보안 클라이언트 측에서 얻을 수있는 것을 깨달았다.

내 질문은 CKEditor 일을 얼마나 좋아, 내가는없는 속성 태그를 사용 플러스

<a><img><table><span><pre> 
(<a> and <table> could be disabled if it makes things easier) 

PS 경우 신뢰할 수의 경우 : CKEditor는 기본 설정을 사용하고 있습니다.

+0

동일한 블로그를 확인하십시오 http://tekina.info/xss-filtering-ckeditor/ –

답변

5

서버 측의 XSS로부터 보호해야합니다. 이러한 가능성이있는 경우 안전하지 않은 데이터는 저장하기 전에 제거하십시오.

wysiwyg 편집자는 편집 된 내용을 파괴하지 않기 위해 편집 된 HTML에 포함 된 JavaScript 코드를 보호해야합니다. WYSIWYG 모드 <script>에 숨어 있거나 onclick 이벤트 처리기를 "데이터"특성으로 태그 지정하거나 변경합니다.

{cke_protected_1}은 (는) < 스크립트> 태그를 CKEditor가 숨기려고 시도한 결과로 XSS 치트 시트에서 가져온 "해킹 된"HTML 때문에 제대로 작동하지 않았습니다.

wysiwyg 편집기의 부분적인 내장 보호 기능은 XSS에 대한 서버 측 보호를 대체하는 것으로 간주되어서는 안됩니다.

+0

귀하의 의견은 매우 일반적이지만 어쨌든 저는 이것을 서버 측에서 수행 할 것입니다. 이 질문 만. – agou