0% ont trouvé ce document utile (0 vote)
318 vues11 pages

TP de MAISON-8-Hacking Web Applications

Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
318 vues11 pages

TP de MAISON-8-Hacking Web Applications

Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP DE MAISON DU 21 JUILLET 2023

Niveau : LICENCE
Filières : CYBERSECURITE

TP : SECURITY TESTING AND ASSESSMENT


Module 08 : Hacking Web Applications

Note : Ce TP doit être rendu à temps, tout retard ne sera pas accepté. En fonction de la version
des outils utilisés, les commandes peuvent différées mais le principe reste le même. L’étudiant
sera amené à faire des recherches personnelles supplémentaires afin de bien réussir son TP.
A chaque étape, faites une capture d’écran, envoyez le rapport de TP par Email.

Installer un serveur web vulnérable DVWA

Installer une machine kali linux

Ignorer le serveur ubuntu


Attaque Injection SQL
Nous avons installé un serveur web vulnérable DVWA : Damn vulnerable Web Application

Voici le code source de la page d’un formulaire que les développeurs ont programmé :

Attaque d’injectin SQL


Une injection SQL est une forme de cyberattaque lors de laquelle un pirate utilise un morceau
de code SQL (« Structured Query Language », langage de requête structurée) pour manipuler
une base de données et accéder à des informations potentiellement importantes.

C'est l'un des types d'attaques les plus répandus et menaçants, car il peut potentiellement
être utilisé pour nuire à n'importe quelle application Web ou n'importe quel site Web qui
utilise une base de données SQL.
Comment fonctionne l'injection SQL?
Dans le cadre des processus logiciels standard, une requête SQL est essentiellement une
demande envoyée à une base de données (un référentiel d'informations informatisé) pour un
certain type d'activité ou de fonction telle qu'une requête de données ou l'exécution d'un
code SQL.

C'est par exemple le cas lorsque les informations de connexion sont envoyées via un
formulaire Web pour permettre à un utilisateur d'accéder à un site.

Généralement, ce type de formulaire Web est conçu pour accepter seulement des types de
données très spécifiques, tels que le nom et/ou le mot de passe. Lorsque ces informations
sont ajoutées, elles sont vérifiées par rapport à une base de données et, si elles
correspondent, l'utilisateur est autorisé à entrer. Dans le cas contraire, il est privé d'accès.

Des problèmes potentiels peuvent survenir, car la plupart des formulaires Web ne disposent
d'aucun moyen pour arrêter la saisie d'informations supplémentaires sur les formulaires. Les
pirates peuvent exploiter cette faille et utiliser les boîtes de saisie du formulaire pour envoyer
leurs propres demandes vers la base de données. Cela pourrait potentiellement leur
permettre d'effectuer plusieurs types d'activités malveillantes, allant du vol de données
sensibles à la manipulation d'informations de la base de données à leurs propres fins.

Cela nous ressort les informations sur la base de données notamment tous les noms
d’utilisateurs qui peuvent se connecter :
UTILISATION DE SQLMAP
Il est aussi possible de mener une attaque d’injection SQL en ligne de commande à partir de
Kali Linux afin de ressortir les noms d’utilisateur et leurs mots de passe correspondants, on
utilise pour se faire l’outil Sqlmap et la procédure est décrite par les capture d’écran ci-
dessous:

On obtient des informations sur les vulnérabilités de la base de données, le type de base de
données
Tentative de connexion au serveur pour ressortir les Bases de données disponibles :
Recherche des tables de toutes les bases de données trouvées

Recherche des champs ou colonnes de la table « users » de la base de données « dvwa »


--dump permet de ressortir les noms d’utilisateur et leurs mots de passe :
Maintenant essayons de mener l’attaque avec l’activation de snort IPS, on constate que
l’attaque est bloquée au lancement de la première commande d’attaque SQL :

Attaque DOS SYN FLOOD


Une attaque SYN Flood est une attaque visant à provoquer un déni de service DOS en
émettant un nombre important de demandes de synchronisation TCP incomplète à un
serveur.
Quand un système (client) tente d'établir une connexion TCP vers un système offrant un
service (serveur), le client et le serveur échangent une séquence de messages.
Le système client commence par envoyer un message SYN au serveur. Le serveur reconnaît
ensuite le message en envoyant un SYN-ACK message au client. Le client finit alors d’établir la
connexion en répondant par un message ACK. La connexion entre le client et le serveur est
alors ouverte, et le service de données spécifiques peut être échangé entre le client et le
serveur. Voici une vue de ce flux de messages :
Client Serveur
------ -------
SYN --------- →
← --------- SYN-ACK
ACK --------- →
Le risque d'abus se pose à l'endroit où le système de serveur a envoyé un accusé de réception
(SYN-ACK) au client, mais ne reçoit pas le message ACK. Le serveur construit dans sa mémoire
système une structure de données décrivant toutes les connexions. Cette structure de
données est de taille finie, et elle peut être débordée en créant intentionnellement trop de
connexions partiellement ouvertes.

UTILISATION DE HPING3
Utilisation de l’outil HPING3 pour réaliser l’attaque DOS SYN Flood

Attaque DOS ICMP FLOOD


Un ping flood (ou ICMP flood) est une forme simple d’attaque par déni de service, où
l'attaquant inonde le serveur cible de requêtes ping.

Ce type d’attaque ne réussit que si l'attaquant a plus de bande passante que sa victime (par
exemple, un hacker avec une connexion Internet qui transmet 20 millions de bits par seconde
et une victime avec une connexion Internet de 10 millions de bits par seconde).
Fonctionnement du ping flood
Le fonctionnement du ping flood est simple :
1. Le hacker envoie des paquets « Echo Request » par vague à la machine de la victime.
2. Cette dernière répond avec des paquets « Echo Reply ».
Chaque paquet « Echo Request » entrant demande de la bande passante à la victime. Comme
un paquet « Echo Reply » est renvoyé pour chaque paquet entrant, le trafic réseau sortant
implique un volume de données tout aussi élevé. Si le hacker dispose de suffisamment de
bande passante, il peut exploiter toutes les capacités réseau de la victime à disposition. Le
trafic réseau légitime est alors interrompu ou s’arrête complètement.
Le ping flood peut être une attaque DoS ou DDoS selon que l’attaque provienne d’un
ordinateur individuel ou d’un réseau d’ordinateurs.
Attaque Reflected Cross Site Scripting XSS
Le cross-site scripting (XSS) ou script intersites est une attaque par injection de script dans une
application Web qui accepte les entrées mais sépare mal les données du code exécutable avant
de renvoyer ces entrées vers le navigateur d'un utilisateur.
Comme dans toute attaque par injection, XSS exploite le fait que les navigateurs ne
différencient pas les balises valides de celles du pirate et se contentent d'exécuter ce qu'ils
reçoivent.
L'attaque contourne la règle de l'origine commune, cette mesure de sécurité qu'utilisent les
langages de programmation Web tels que JavaScript et Ajax. Pour simplifier, cette règle veut
que tous les éléments d'une page Web proviennent d'une même source. Lorsqu'elle n'est pas
appliquée, un pirate peut injecter un script et modifier la page Web à ses propres fins. Il pourra
par exemple récupérer des données qui lui serviront à se faire passer pour un utilisateur
authentifié ou introduire un code malveillant que le navigateur exécutera ensuite.
Le principe est d'injecter des données arbitraires dans un site web, par exemple en déposant
un message dans un forum, ou par des paramètres d'URL. Si ces données arrivent telles quelles
dans la page web transmise au navigateur (par les paramètres d'URL, un message posté…) sans
avoir été vérifiées, alors il existe une faille : on peut s'en servir pour faire exécuter du code
malveillant en langage de script (du JavaScript le plus souvent) par le navigateur web qui
consulte cette page.
La détection de la présence d'une faille XSS peut se faire par exemple en entrant un script
Javascript dans un champ de formulaire ou dans une URL :
<script>alert('bonjour')</script>
Si une boîte de dialogue apparaît, on peut en conclure que l'application Web est sensible aux
attaques de type XSS.

Vous aimerez peut-être aussi