id 속성이 안전하지 않기 때문입니다.
이 내 대답은 아니지만 그것은 귀하의 질문에 대답합니다 : https://security.stackexchange.com/questions/88973/why-do-id-attributes-need-stricter-validation
은 id
및 name
, 이러한 속성은 자주 DOM의 기준점으로 사용됩니다.
공격자가 이러한 참조 지점을 스푸핑 할 수 있으면 기존 스크립트를 사용하여 설계된 이외의 곳에서 값을 가져오고 설정하는 것을 속일 수 있습니다.이 경우 사용되는 컨텍스트에 따라 위험 할 수 있습니다..
내에서 참고 :
이 이상 무엇을 이미하지 않으면 name 속성에 대한 자신의 게시물 회담의 나머지 부분,하지만 당신은이 모든 뒤에 아이디어를 얻을 수 있습니다 HTML 양식에 적용되며 name
은 이름/값 쌍을 식별하는 데 사용됩니다. 예를 들어 웹 사이트가 출력 될 때 특정 양식 필드를 인코딩하지 않고 양식 필드가 서버로 생성되고 양식이 토큰을 사용하여 CSRF로부터 보호되므로 정상적인 수단으로 악용 될 수 없습니다. 그러나 공격자는 사용자가 name
에 사용되는 매개 변수를 사용하여 URL을 방문하도록 유인 할 수 있으며 양식 제출시 실행할 XSS 페이로드를 포함합니다.
일반 사용 : 형태
<form>
<input type="hidden" name="watch" value="1" />
<input type="hidden" name="shop_name" value="Bob's Supplies" />
<input type="hidden" name="anti-csrf" value="asdjasodhoai" />
<input type="submit" value="Click here to buy" />
</form>
를 렌더링 그리고
그러나
Thank you for buying from Bob's Supplies.
으로 출력을 얻을 수
https://example.com/product?item_name=watch&qty=1
는, 공격자는과 같이 사용자에게 링크를 보낼 수 있습니다 :
https://example.com/product?item_name=shop_name&qty=<script>alert('xss')</script>
응용 프로그램이 이 페이지는 HTML 응용 프로그램 프레임 워크 항상 신뢰할 수 있기 때문에 shop_name
매개 변수를 인코딩하지 않기 때문에 제대로이 시점에서 HTML 인코딩은
Thank you for buying from <script>alert('xss')</script>.
로
<form>
<input type="hidden" name="shop_name" value="<script>alert('xss')</script>" />
<input type="hidden" name="shop_name" value="Bob's Supplies" />
<input type="hidden" name="anti-csrf" value="asdjasodhoai" />
<input type="submit" value="Click here to buy" />
</form>
이 다음 얻는다 출력으로 폼을 렌더링 중복의 경우 첫 번째 값을가집니다. 매우 고안되었지만 요점을 설명하기 위해 내 머리 속에 들어간 것은 처음이었습니다. http://stackoverflow.com/ :
출처
2016-09-24 22:29:00
Ced
같은 파일을 추가하려면 html 파일에 추가
처럼 파이프를 작성하는 것입니다 질문/39007130/pipe-could-be-found-angular2-custom-pipe 살균제로이 문제에 대한 좋은 해결책 – sanyooh
@sanyooh 이것은 잘 살균 작용을하지만, '정의되지 않은' innerHTML]'내용이 표시됩니다. '
' – fidevSafeHtml? –