HTML 컨텍스트에서 XSS를 사용하여 이스케이프하고 싶습니다. 지금까지 <,> 및 문자를 처리했습니다. 앰퍼샌드를 이스케이프하는 것이 좋지만 왜 그렇습니까? (html을 유효하게 유지하는 것 이외에는 내가 <을> 탈출 할 때 는 "누군가는 앰퍼샌드는 여전히 HTML 문맥에 XSS 공격을 허용하는 방법을 보여줍니다 수 :XSS (Cross Site Scripting) : 앰퍼샌드를 벗어나야합니까?
그래서 내가 무엇을 요구하고있다)의이이 문제가 아니라고 가정하자?
건배! 당신이 URL에 PARAMS을 연결하는 &를 사용
재미있는 예를 들어, 환호를 내가 뭘하려합니다.! 주사하는 것 HTML에이 : < 스크립트 유형 = "텍스트/자바 스크립트"실행되지 않습니다 > 이 howerver로 표시 "<스크립트 ..."링크 된 예에서, 공격자가 '';을'입력으로 설명되지 않은 것을 –
주 공격자가'Joe '라고 타이핑 한 것으로 알려짐); alert ('XSS'와 그 사이트는'Joe '); alert (' XSS')는 이스케이프가 올바르지 않은데, 이는 HTML까지 이스케이프 처리했기 때문입니다. 우려했지만 아포 스트로피는 여전히 JS 엔진으로 전달되었습니다. "&"가 통과하는 것이 허용되면 공격자가 직접 입력 할 수 있지만 여기에 초점을 맞추는 문제는 (OWASP XSS 예방 치트 시트에서 언급했듯이) 이벤트 처리기 속성 텍스트는 * JS * - 이스케이프 (\ xHH). –
... OWASP XSS 예방 치트 시트는 실제로 ASCII 값이 <256 인 모든 비 ** 영숫자 문자를 이스케이프 처리 \ xHH합니다 (https://www.owasp.org/index.php/). XSS_ % 28Cross_Site_Scripting % 29_Prevention_Cheat_Sheet # RULE_.233 _-_ JavaScript_Escape_Before_Inserting_Untrusted_Data_into_JavaScript_Data_Values) 부주의 한 개발자가 따옴표 붙지 않은 속성을 어딘가에서 사용하는 경우에 대비해. –