이스케이프 Jelly 스크립트[Security Center 1.3 및 1.5에서 업데이트됨]
이 glide.ui.escape_all_script 속성을 사용하여 Jelly에 주입된 모든 스크립트를 강제로 이스케이프합니다.
이 속성은 <j:jelly> ... </j:jelly> 출력 스트림에 기록되기 전에 여러 XSS 문제가 발생하지 않도록 합니다. glide.ui.escape_all_script 권장 값인 true로 설정되지 않은 경우 Jelly에 주입된 스크립트의 이스케이프가 비활성화됩니다. 이러한 완화가 없으면 플랫폼은 다양한 스크립트 삽입 공격에 널리 개방됩니다. 공격자는 인스턴스에서 임의의 Rhino 스크립트를 실행할 수 있습니다.
경고:
이러한 태그를 사용할 때는 주의하십시오. 여기에 사용자 입력이 표시되면 보안 취약성을 열 수 있습니다.
추가 정보
| 속성 | 설명 |
|---|---|
| 속성 이름 | glide.ui.escape_all_script |
| 구성 유형 | 시스템 속성(/sys_properties_list.do) |
| 데이터 유형 | 부울 |
| 범주 | 확인, 삭제 및 인코딩 |
| 목적 | 속성이 true로 설정되지 않은 경우 개발자는 XSS 문제를 방지하기 위해 각 사용자 지정 Jelly 스크립트에 대해 여러 단계를 수행해야 합니다. 이러한 단계에는 웹 페이지에서 렌더링하기 위해 출력 스트림으로 전송되는 Jelly 변수를 찾고 다음 각 태그에서 이스케이프를 수행하는 작업이 포함됩니다.
또는
|
| 권장 값 | 예 |
| 기본값 | 예 |
| 보안 위험 등급 | 7.3 |
| 기능적 영향 | 이렇게 정정하면 파서 수준에서 Jelly 이스케이프가 적용됩니다. 결과 데이터와의 사용자 상호 작용에 기능에 영향을 줄 수 있습니다. |
| 보안 위험 | (높음) 입력 유효성 검사는 애플리케이션에 입력되는 모든 사용자 입력에 대해 발생해야 합니다. 이를 통해 플랫폼에 대한 삽입 공격을 방어하고 보호할 수 있습니다. |
| 임시 해결책 | 웹 페이지에서 렌더링하도록 설계된 일부 스크립트 및 HTML 태그가 손상된 것처럼 보일 수 있으므로 UI가 영향을 받을 수 있습니다. 이렇게 정정하면 렌더링할 브라우저로 인코딩된 출력 페이지가 전송됩니다. 예를 들어
'my string here' 대신 '<u>my string here</u><u> as the tag was properly escapeed'가 표시될 수 있습니다. 이 경우 이스케이프를 방지하려면 JS 이스케이프를 방지하기 위해 Jelly 표현식에 NOESC 접두사를 추가합니다. 예:
경고: 이러한 태그를 사용할 때는 주의하십시오. 여기에 사용자 입력이 표시되면 보안 취약성을 열 수 있습니다. |
| 참조 | Jelly 태그 |
시스템 속성 추가 또는 작성에 대한 자세한 내용은 다음 문서를 참조하십시오 Add a system property.