2016-09-08 1 views
-1

Pour échapper à l'attaque de Cross-Site-Scripting, je dois désinfecter/valider l'objet java provenant de RequestBody. Puis-je utiliser Encoder (à partir de OWASP) pour coder l'ensemble de l'objet java. Il semble que l'encodeur ne codera que les chaînes et ne peut pas accepter les objets. J'ai le même problème de nombreux endroits où je devrais gérer ce problème.Comment désinfecter un objet Java avec un encodeur OWASP?

Existe-t-il un moyen de nettoyer l'objet entier pour éviter les problèmes de script entre sites?

+0

Que contient votre objet? – yaloner

+0

Et aussi, de quelle manière est-il retourné au client? – yaloner

+0

Cet objet contient plusieurs autres propriétés: liste, objet, entiers et chaînes. La même entrée sera renvoyée au client en ajoutant quelques valeurs de propriété supplémentaires. – hemanth

Répondre

1

Comme vous l'avez remarqué, la désinfection des entrées pour empêcher XSS (Cross Site Scripting) n'est pertinente que pour les chaînes. Encoder d'autres types est soit impossible, soit dénué de sens. Pour mieux le comprendre, vous devez réellement comprendre le mécanisme et le vecteur d'attaque d'un XSS. Je suggère de commencer ici: OWASP XSS

Pour résoudre votre problème, il serait logique de créer une méthode personnalisée qui après avoir obtenu l'objet de la demande, l'assainit en passant par toutes ses chaînes (ne pas oublier les chaînes dans les listes et d'autres structures de données) et les encoder en utilisant le codeur OWASP.

Bonne chance!