Script Jelly d’échappement [mis à jour dans Centre de sécurité 1.3 et 1.5]
Utilisez la propriété pour forcer l’échappement glide.ui.escape_all_script de tous les scripts injectés dans Jelly.
Cette propriété échappe à toutes les chaînes JS et HTML incluses dans <j :jelly> ... </j :jelly> avant qu’elles ne soient écrites dans le flux de sortie, empêchant ainsi plusieurs problèmes XSS de se produire. Si glide.ui.escape_all_script n’est pas défini sur la valeur recommandée true, l’échappement des scripts injectés dans Jelly est désactivé. Sans cette atténuation, la plateforme devient largement ouverte à une variété d’attaques par injection de script. Un attaquant pourrait exécuter des scripts Rhino arbitraires sur l’instance.
En savoir plus
| Attribut | Description |
|---|---|
| Nom de la propriété | glide.ui.escape_all_script |
| Type de configuration | Propriétés système (/sys_properties_list.do) |
| Type de données | Booléen |
| Catégorie | Validation, nettoyage et codage |
| Objectif | Si la propriété n’est pas définie sur vrai, les développeurs doivent effectuer plusieurs étapes sur chaque script Jelly personnalisé pour éviter les problèmes XSS. Ces étapes incluent la localisation des variables Jelly envoyées au flux de sortie pour être rendues sur les pages Web, ainsi que l’échappement de chacune des balises suivantes :
OU
|
| Valeur recommandée | VRAI |
| Valeur par défaut | VRAI |
| Cote de risque de sécurité | 7.3 |
| Impact fonctionnel | Cette correction applique l’échappement de Jelly au niveau de l’analyseur. Elle peut avoir un impact fonctionnel sur l’interaction de l’utilisateur avec les données résultantes. |
| Risque de sécurité | (Élevé) La validation des entrées doit s’effectuer sur toutes les entrées utilisateur saisies dans l’application. Ce faisant, les attaques par injection contre la plateforme peuvent être défendues et protégées. |
| Solution de contournement | L’interface utilisateur peut être affectée, car certains scripts et balises HTML conçus pour le rendu sur une page Web peuvent sembler cassés. Cette correction envoie la page codée de sortie au navigateur pour qu’elle s’affiche. Par exemple, au lieu de
'my string here', il peut afficher '<u>my string here</u> , car la <u> balise a été correctement échappée. Dans ce cas, pour empêcher l’échappement, ajoutez le préfixe NOESC à l’expression Jelly pour empêcher l’échappement JS. Par exemple :
Avertissement : Soyez prudent lorsque vous utilisez ces balises. Si l’entrée de l’utilisateur est affichée ici, elle peut ouvrir une vulnérabilité de sécurité. |
| Références | Balises Jelly |
Pour en savoir plus sur l’ajout ou la création d’une propriété système, reportez-vous à la section Add a system property.