OVH Cloud OVH Cloud

Redirection dans une JSP

3 réponses
Avatar
delph
Bonjour,

J'ai une page a.jsp qui tourne avec Apache et Tomcat. Une faille
d'Apache laisse passer le cross-site scripting donc je voudrais la
contourner un v=E9rifier que le caract=E8re < n'est pas pr=E9sent dans
l'URL. S'il est pr=E9sent, je voudrais faire une redirection vers une
page d'erreur (qui n'est pas forc=E9ment sur le m=EAme serveur) et s'il
n'est pas pr=E9sent, je continue l'ex=E9cution de a.jsp. J'ai essay=E9
avec la m=E9thode response.sendRedirect() mais =E7a ne marche pas.
Avez-vous une id=E9e de comment faire ?

Merci d'avance,=20

Delphine

3 réponses

Avatar
delph
Une petite précision : ma page a.jsp est inclue dans une page
login.jsp.
Avatar
delph
J'ai effecuté un autre test : quand j'appelle a.jsp en direct, le
sendredirect fonctionne. quand j'appelle login.jsp (qui fait un include
de a.jsp) ça ne marche pas... quelqu'un a une idée ?

Merci...
Avatar
TestMan
Bjr,

As-tu utiliser encodeRedirect.... pour tes URL ?

Sinon, tu peux te faire un filtre (servlet filter) qui va détecter la
tentatice d'attaque.
Définit par exemple via une expression régulière ce que tes URL peuvent
contenir. Si l'expression correspond à l'URL alors tu chaines l'appel au
filtre suivant, sinon tu transfère vers ta "page d'erreur".

Attention à ne pas trop "restreindre", sinon ça risque de grincer parmis
les utilisateurs "normaux" ;-)

A+

TM

Bonjour,

J'ai une page a.jsp qui tourne avec Apache et Tomcat. Une faille
d'Apache laisse passer le cross-site scripting donc je voudrais la
contourner un vérifier que le caractère < n'est pas présent dans
l'URL. S'il est présent, je voudrais faire une redirection vers une
page d'erreur (qui n'est pas forcément sur le même serveur) et s'il
n'est pas présent, je continue l'exécution de a.jsp. J'ai essayé
avec la méthode response.sendRedirect() mais ça ne marche pas.
Avez-vous une idée de comment faire ?

Merci d'avance,

Delphine