OWASP WebGoat:Bypass a Path Based Access Control Scheme
Bypass a Path Based Access Control Scheme
Découvrez dans cet exercice la nécessité de "brider" les répertoires auxquels l'application peut avoir accès. En effet, sur certaines applications mal conçues, il est possible d'accéder à des resources (fichier /etc/password par exemple) en remontant des niveaux dans l'URL.
Pour ce faire, utilisons WebScarab afin d'analyser les paramètres utilisés lorsque l'on consulte un document (fonction normalement implémentée dans l'application). Sélectionnez un document puis cliquez sur "View File".
Nous constatons que les paramètres utilisés sont les suivants :
- File={nom du fichier}
- SUBMIT=View File
Il suffit de remplacer directement le fichier dans WebScarab et de cliquer sur "Accept Changes". Si nous consultons l'arborescence de WebGoat, nous constatons qu'il existe un fichier main.jsp auquel nous allons tenter d'accéder :
debian:~/WebGoat-5.2/tomcat/webapps/WebGoat# ls css javascript lesson_solutions users database JavaSource main.jsp webgoat_challenge.jsp doc lesson_plans META-INF webgoat.jsp images lessons sideWindow.jsp WEB-INF
Dans la mesure où nous nous trouvons actuellement dans le répertoire "lessons", il suffit de remonter d'un niveau en utilisant comme nom de fichier "../main.jsp" :
Il est également possible d'utiliser l'URL directement :
http://172.16.68.129/WebGoat/attack?Screen=17&menu=200&File=../main.jsp&SUBMIT=View+File
Lorsque l'exercice est réussi, la source du fichier "../main.jsp" apparaît à l'écran :