2014-09-09 1 views
6

J'ai récemment effectué quelques // sur mon site récemment et j'ai remarqué que les modernes (c.-à-d. Les derniers FF et Chrome) échappent aux URL entrées dans la barre d'adresse.XSS - Quels navigateurs échappent automatiquement aux urls dans la barre d'adresse?

Alors:

http://example.com/search/?q= « > < script> alert ('salut'); </script>

est envoyé à mon serveur comme:

http://example.com/search/?q=%22%3e%3cscript%3ealert(%27hi%27)%3b%3c%2fscript%3e

Y a-t-il une liste de tous les navigateurs (principaux) qui font cela et ceux qui ne le font pas? Les navigateurs mobiles le font-ils?

Répondre

1

Je pense que tous les navigateurs échappent aux URL sauf ceux qui ont des bogues et ne suivent pas les RFC (RFC3986).

+0

savez-vous quel RFC de main? –

+0

Selon RFC3986 http://tools.ietf.org/html/rfc3986 '2.4. Une fois produit, un URI est toujours dans sa forme codée en pourcentage. »Et où« query »peut contenir codé, ALPHA, DIGIT ou quelques autres non-servis. "<" and ">" ne sont aucun d'entre eux, ils DOIVENT être codés. Dans l'autre côté, un navigateur buggé (vous savez que je veux dire IE) a accepté incorrectement le caractère Unicode dans la version précédente. –

+0

Cela me semble un peu étrange. Le RFC a presque 10 ans, mais aucun des exemples sur XSS que j'ai vu n'a jamais mentionné que FF et Chrome sont généralement immunisés contre les mauvais liens car ils échappent correctement aux URL et c'est seulement un problème d'IE. Je ne dis pas que c'est faux, mais avez-vous d'autres preuves? –

1

Si je ne me trompe pas, vous pouvez utiliser http://browsershots.org/ ou quelque chose de similaire pour le tester.

test Exemple: http://browsershots.org/requests/12461378

+0

Bon outil mais pas vraiment pour ça . En passant par toutes ces captures d'écran juste pour voir l'URL .. – MarioDS

+0

@MDeSchaepmeester Idée est que si cette injection fonctionne, vous verriez popup sur l'image. Ce n'est pas la meilleure visionneuse de navigateur (les images sont expirées très rapidement), mais l'idée demeure. – Margus

+0

Désolé, j'aurais dû être plus clair, l'exemple que j'ai donné ci-dessus n'est que syntaxique, il ne montre pas de véritable attaque. Alors que cet outil est plutôt cool, il n'est malheureusement pas utile (AFAIK). Les principaux navigateurs que j'ai essayés (FF, Chrome, IE) masquent tous le fait qu'ils le font. En d'autres termes, vous ne pouvez pas dire à partir de la barre d'adresse que l'URL a été échappée. –

Questions connexes