Introduction Depuis le début des sites web les urls sont utilisé pour la navigation. Avec l’arrivée des bases de données, les urls ont prit de l’importance. Ils permettent d’accéder au contenu d’un site web.
Problème Les urls sans sécurité permettent d’accéder à des zones sensible d’un site web Les pirates peuvent modifier ou détruire les données du site facilement. Il peuvent modifier les droits d’accès des utilisateurs. Il peuvent accéder à des zones simplement en modifiant des paramètre de l’url.
Problème... suite Des amateurs qui se lance dans la conception web peuvent facilement tomber dans les pièges, comme; Caché les zones avec des url compliqués ou invisibles aux visiteurs. L’utilisation de fichier caché, par une application, tel quel les fichier XML.
Environnement affectés Tous les frameworks sont touchés La plupart offres un système de gestion des droits Mais ne peut garantir que tous les concepteurs web l’utiliseront correctement.
Exemple Url qui détermine la langue du site Avec la requête et le paramètre : lang=../../../../etc/passwd%00 Sans protection, il peut avoir accès aux mots de passe <?php $language="entete-en"; if (isset($_GET['lang'])) { $language=$_GET['lang']; } include ("/usr/local/webapp/template/". $language. ".php") ?>
Exemple focus/nouvelles.aspx?cp-documentid= focus/nouvelles.aspx?cp-documentid=
Solution Bien pensé son projet au départ Implémenter un système de rôle (comme asp.net) pour gérer quelque rôle au lieu de beaucoup d’utilisateur. Tester toutes les pages qui doivent être privées Tester, tester, tester... Et encore tester...
Conclusion Ne pas prendre pour acquis que les visiteurs ne trouveront pas nos zones privées. Bien tester son site et le faire tester par des personnes extérieurs au projet.