Owasp Presentation v1.1
Owasp Presentation v1.1
Owasp Presentation v1.1
I Introduction
1 La sécurité des applications web
1.1 Les applications web sont partout
Aujourd'hui, les applications web sont partout. Elles sont utilisées quotidiennement dans nos activités
personnelles ou professionnelles (réseaux sociaux, achats en lignes, démarches administratives…).
Toute entreprise ou administration se doit d'avoir un site web. Ces applications facilitent les échanges
et les transactions car elles sont accessibles de partout à l'aide d'un simple navigateur sur un
smartphone ou un ordinateur de bureau.
Si au début des sites web, les aspects techniques et fonctionnels étaient suffisants, ce n'est plus du
tout le cas aujourd'hui. L'actualité nous rappelle régulièrement que des entreprises voient leur site web
attaqué. Les conséquences peuvent être lourdes (perte de données, baisse du chiffre d'affaire,
effondrement de la réputation…). Avec comme enjeu, la survie de l'entreprise selon la gravité de
l'attaque subie.
En outre, Le règlement règlement général sur la protection des données (RGPD), mis en place au
sein de l’Union Européenne, oblige les entreprises à assurer la sécurité des données personnelles
qu’elles collectent.
Au delà de l'aspect fonctionnel des outils de développement, il est indispensable pour tout
développeur de savoir identifier les vulnérabilités potentielles et de prendre en compte les menaces en
adaptant son développement à l'aide de bonnes pratiques. La phase de test ne doit pas se limiter au
fonctionnement attendu du code mis en œuvre mais elle doit aussi anticiper les utilisations
malveillantes comme les injections de code SQL dans les formulaires.
Afin de mettre en place une veille stratégique sur la sécurisation des applications web, le groupe
OWASP a développé une base de données qui recense la liste des incidents de sécurité recensés
sur les applications web. Cette base nommée WASC-WHID (Web application Security Consortium -
Web Hacking Database Project) permet de disposer de statistiques sur les failles de sécurité relevées
sur les applications web. Les incidents sont déclarés et enregistrés afin d’alimenter une base de
connaissance.
https://www.owasp.org/index.php/OWASP_WASC_Web_Hacking_Incidents_Database_Project
1 http://www.lemondeinformatique.fr/actualites/lire-55-des-entreprises-mondiales-n-identifient-pas-les-
vulnerabilites-67146.html)
http://www.reseaucerta.org © CERTA – juillet 2018 – v1.1 Page 2/7
2 Les motifs des attaques
Les sites web peuvent être attaqués pour plusieurs raisons :
MOTIFS EXPLICATIONS
Certaines personnes peuvent attaquer un site
Propagande pour des raisons politiques ou pour défendre une
cause particulière (hacktivistes).
Distraction Des personnes peuvent voir dans l'attaque de
sites web une distraction ou un défi à relever.
Le vol de données lucratif, pour effectuer du
Vol de données chantage ou pour copier le savoir d'un concurrent
sur un marché.
Le serveur cible est utilisé dans un réseau
Machine zombie destiné à faire des attaques distribuées par déni
de service (DDOS), du stockage de fichiers
illégaux, de l’envoi de spams …
II Présentation d'OWASP
1 La communauté OWASP
OWASP (Open Web Application Security project) est une communauté travaillant sur la sécurité des
applications web. Elle a pour but de publier des recommandations de sécurisation des sites web et
propose des outils permettant de tester la sécurité des applications web.
L’étudiant doit disposer de connaissances de bases sur les langages PHP et Javascript et sur
l’architecture associée au développement d’une application Web en général (notion de serveur web,
http, https…).
Cette seconde option est plus longue et demande à des étudiants SLAM de connaître les bases de
l’administration d’un système LINUX en plus des fondamentaux liés à la programmation des
applications web (PHP, Javascript…).
Cette première production présente la plateforme de test des vulnérabilités puis étudie dans l’activité 1
la plus courante de toutes selon OWASP : l’injection SQL.
D’autres activités suivront selon le plan annoncé dans le tableau ci-dessus. Elles feront l’objet d’autres
côté labo.
Dans cette série de productions, nous utiliserons Mutillidae, plateforme de test des vulnérabilités web
développée par Owasp.
Mutillidae est un site web conçu pour identifier et tester les failles de sécurité. Il est possible pour
chacune d’entre elles, de définir le niveau de sécurité appliqué.
Ainsi, typiquement, notre démarche consistera, pour une faille de sécurité particulière :
● à partir de la version non sécurisée de la page concernée et à mettre en évidence la faille de
sécurité. Il s’agira de réaliser une injection SQL par exemple, dans l’activité 1.
● nous constaterons ensuite que dans la version sécurisée de cette page fournie par Mutillidae,
l’attaque n’est plus possible.
● l’étude des mécanismes de sécurisation utilisés, donc du code de la page associée, permettra
de dégager des bonnes pratiques de programmation.
C’est une plateforme qui permet d'effectuer des tests de sécurité sur les applications web. Elle joue le
rôle d'un proxy qui se positionne entre le navigateur de l'attaquant et le serveur contenant l'application
web à tester (Mutillidae pour nous). Elle capture les requêtes effectuées afin de pouvoir les analyser,
les modifier et les rejouer en modifiant les paramètres.
Nous utiliserons Burpsuite pour obtenir des informations sur une page fournie par Mutillidae selon le
schéma suivant :
Ainsi, dans l’activité 2, Burpsuite permet de filtrer les requêtes adressées à Mutillidae et de repérer le
comportement spécifique de la page (non sécurisée) lorsque le login utilisé existe. Il est alors possible
de tester une liste de login : Burpsuite est capable d’utiliser un fichier contenant ces login, de réaliser
la même requête vers la page fournie par Mutillidae et de déterminer les login qui existent.
Dans notre cas, Burpsuite sera installée sur une deuxième machine virtuelle qui pourra aussi accueillir
le navigateur web.
Cet outil ne sera pas utilisé dans l’activité 1 mais son installation est quand même décrite dans le
document owasp-mise_en_place.odt.
Piste d’exploitation pédagogique : cette production peut aussi être exploitée dans le cadre de PPE3-4
en SLAM. Il serait possible de partir d’une application faiblement sécurisée et de demander aux
étudiants de renforcer sa sécurité en indiquant des objectifs précis.
L’article 323-1 du code pénal, lequel dispose que « Le fait d'accéder ou de se maintenir,
frauduleusement, dans tout ou partie d'un système de traitement automatisé de données est puni de
deux ans d'emprisonnement et de 30000 euros d'amende. Lorsqu'il en est résulté soit la suppression
ou la modification de données contenues dans le système, soit une altération du fonctionnement de
ce système, la peine est de trois ans d'emprisonnement et de 45000 euros d'amende. »
Du point de vue des organisations, un minimum de précautions est nécessaire. La CNIL peut
sanctionner les entreprises trop laxistes en la matière.
Article 34 de la loi du 6 janvier 1978 : Le responsable du traitement est tenu de prendre toutes
précautions utiles, au regard de la nature des données et des risques présentés par le traitement,
pour préserver la sécurité des données et, notamment, empêcher qu'elles soient déformées,
endommagées, ou que des tiers non autorisés y aient accès.
Article 226-17 : Le fait de procéder ou de faire procéder à un traitement de données à caractère
personnel sans mettre en œuvre les mesures prescrites à l'article 34 de la loi n° 78-17 du 6 janvier
1978 précitée est puni de cinq ans d'emprisonnement et de 300 000 euros d'amende.