Traversée de chemin | Path Traversal

Il est possible d’utiliser une technique appelé Path Traversal si vous souhaitez changer le répertoire courant lorsque vous êtes restreint à un sous répertoire par des règles de sécurité.

Par exemple, si le dossier white listé pour les scripts javascript est http://whitelisted.com/dist/js et que vous avez la possibilité d’ajouter un fichier dans http://whitelisted.com/upload alors vous avez la possibilité d’inclure votre script via http://whitelisted.com/dist/js/../../upload/uploaded_file.js

Encodage des urls

Attention, Le navigateur simplifie les urls de sorte que les ../ seront calculés automatiquement avant d’effectuer une requête HTTP. Pour contourner cela, nous pouvons essayer d’encoder les / comme ceci : http://whitelisted.com/dist/js%2F..%2F..%2Fupload/uploaded_file.js ou comme cela : http://whitelisted.com/dist/js/%2e%2e/%2e%2e/upload/uploaded_file.js

Il est parfois nécessaire de doublement encoder l’url :

http%2F%2Fwhitelisted%2Ecom%2Fdist%2Fjs%252F%2E%2E%252F%2E%2E%252Fupload%2Fuploaded%5Ffile%2Ejs

Tips

Préférez utiliser curl ou burpsuite plutôt que le navigateur, car le navigateur va effectuer des traitements sur la payload avant de l’envoyer au serveur.

Pour les serveurs Windows il peut être nécessaire d’utiliser un backslash ..\.