2011-03-18 2 views
1

AntiXss 라이브러리는 html 5 데이터 속성을 제거하는 것처럼 보입니다. 이유는 무엇입니까?MS 안티 xss 라이브러리 (v4)가 html 5 데이터 속성을 제거하는 이유

나는이 입력 유지하기 위해 필요

:

<label class='ui-templatefield' data-field-name='P_Address3' data-field-type='special' contenteditable='false'>[P_Address3]</label> 

안티 XSS 라이브러리 (버전 4.0)를 사용하는 주된 이유는 구문 분석되지 않습니다 알 수없는 스타일 속성을 보장하는 것입니다,이 가능하다조차를?

코드 :

var result = Sanitizer.GetSafeHtml(html); 

편집 :

아래의 입력이 전체 스타일 속성 초래 제거

입력 :

var input = "<p style=\"width:50px;height:10px;alert('evilman')\"/> Not sure why is is null for some wierd reason!<br><p></p>"; 

출력 :

var input = "<p style=\"\"/> Not sure why is is null for some wierd reason!<br><p></p>"; 

클라이언트 측에서 코드를 뒤죽박죽으로 처리하는 것이 좋지만 작동하려면 데이터 속성 태그가 필요합니다.

+0

기본적으로 새니 타이 저는 안전한 것으로 알려진 항목 만 남깁니다 (화이트리스트 필터링). 안전하다는 것을 알기 위해 속성에 남겨 둘 새니 타이 저를 구성 할 수 있습니다. – Steven

+0

허용 목록에 속성을 추가하는 방법에 대한 예가 있습니까? 또는 링크? – Haroon

답변

1

나는 인코더가 아니라 살균제라고 가정합니다. HTML5를 이해하지 못하거나 속성을 인식하지 못하기 때문에 HTML5가 제거됩니다. 스타일을 통해 XSS하는 방법이 있습니다.

안전 목록을 사용자 정의 할 수 없으므로 코드 기반이이를 허용하지 않습니다. 많은 사람들이이를 원하지 만이를 지원하기 위해 완전한 재 작성이 필요합니다.

+0

html5 data- * 속성을 통한 공격도 가능합니까? 그래, 나는 살균제를 의미, 내가 그 태그를 필요 로이 라이브러리를 도랑해야 할 수도 있습니다 - 그것은 여전히 ​​가능한 악의 입력을 제거해야합니다! – Haroon

+0

데이터 - *에 대해 확실하지 않아서 어떤 식 으로든 평가하지 않았습니다. 하지만 네, HTML 해독 비트가 필요를 충족시키지 못한다면 두려울 것입니다. – blowdart

+0

어쨌든 고마워요 ... libaray에 넣은 노력에 감사 드리며, 라이브러리에 추가로 수정하면 html5.data 속성이 포함될 수 있기를 바랍니다. :) – Haroon

관련 문제