Comment pirater un site Web: exemple de piratage de sites Web en ligne

Table des matières:

Anonim

Plus de personnes ont accès à Internet que jamais. Cela a incité de nombreuses organisations à développer des applications Web que les utilisateurs peuvent utiliser en ligne pour interagir avec l'organisation. Un code mal écrit pour les applications Web peut être exploité pour obtenir un accès non autorisé à des données sensibles et à des serveurs Web.

Dans ce didacticiel, vous apprendrez à pirater des sites Web, et nous vous présenterons les techniques de piratage d'applications Web et les contre-mesures que vous pouvez mettre en place pour vous protéger contre de telles attaques .

Sujets abordés dans ce didacticiel

  • Qu'est-ce qu'une application Web? Que sont les menaces Web?
  • Comment protéger votre site Web contre les hacks?
  • Astuces de piratage de site Web: piratez un site Web en ligne!

Qu'est-ce qu'une application Web? Que sont les menaces Web?

Une application Web (ou site Web) est une application basée sur le modèle client-serveur. Le serveur fournit l'accès à la base de données et la logique métier. Il est hébergé sur un serveur web. L'application cliente s'exécute sur le navigateur Web client. Les applications Web sont généralement écrites dans des langages tels que Java, C # et VB.Net, PHP, ColdFusion Markup Language, etc. les moteurs de base de données utilisés dans les applications Web incluent MySQL, MS SQL Server, PostgreSQL, SQLite, etc.

La plupart des applications Web sont hébergées sur des serveurs publics accessibles via Internet. Cela les rend vulnérables aux attaques en raison de leur accessibilité facile. Voici les menaces courantes des applications Web.

  • Injection SQL - le but de cette menace pourrait être de contourner les algorithmes de connexion, de saboter les données, etc.
  • Attaques par déni de service - le but de cette menace pourrait être de refuser aux utilisateurs légitimes l'accès à la ressource
  • Cross Site Scripting XSS - le but de cette menace pourrait être d'injecter du code qui peut être exécuté sur le navigateur côté client.
  • Empoisonnement des cookies / sessions - le but de cette menace est de modifier les cookies / données de session par un attaquant pour obtenir un accès non autorisé.
  • Falsification de formulaire - le but de cette menace est de modifier les données de formulaire telles que les prix dans les applications de commerce électronique afin que l'attaquant puisse obtenir des articles à des prix réduits.
  • Injection de code - le but de cette menace est d'injecter du code tel que PHP, Python, etc. qui peut être exécuté sur le serveur. Le code peut installer des portes dérobées, révéler des informations sensibles, etc.
  • Defacement - le but de cette menace est de modifier la page affichée sur un site Web et de rediriger toutes les demandes de page vers une seule page contenant le message de l'attaquant.

Comment protéger votre site Web contre les hacks?

Une organisation peut adopter la politique suivante pour se protéger contre les attaques de serveurs Web.

  • Injection SQL - le nettoyage et la validation des paramètres utilisateur avant de les soumettre à la base de données pour traitement peuvent aider à réduire les risques d'attaque via l'injection SQL. Les moteurs de base de données tels que MS SQL Server, MySQL, etc. prennent en charge les paramètres et les instructions préparées. Ils sont beaucoup plus sûrs que les instructions SQL traditionnelles
  • Attaques par déni de service - les pare - feu peuvent être utilisés pour supprimer le trafic d'une adresse IP suspecte si l'attaque est un simple DoS. Une configuration appropriée des réseaux et du système de détection d'intrusion peut également contribuer à réduire les chances de réussite d'une attaque DoS.
  • Cross Site Scripting - la validation et la désinfection des en-têtes, des paramètres transmis via l'URL, des paramètres de formulaire et des valeurs masquées peuvent aider à réduire les attaques XSS.
  • Empoisonnement des cookies / sessions - cela peut être évité en chiffrant le contenu des cookies, en expirant les cookies après un certain temps, en associant les cookies à l'adresse IP du client qui a été utilisée pour les créer.
  • Tempérage du formulaire - cela peut être évité en validant et en vérifiant l'entrée de l'utilisateur avant de la traiter.
  • Injection de code - cela peut être évité en traitant tous les paramètres comme des données plutôt que comme du code exécutable. La désinfection et la validation peuvent être utilisées pour mettre en œuvre cela.
  • Defacement - une bonne politique de sécurité de développement d'applications Web devrait garantir qu'elle scelle les vulnérabilités couramment utilisées pour accéder au serveur Web. Il peut s'agir d'une configuration appropriée du système d'exploitation, du logiciel du serveur Web et des meilleures pratiques de sécurité lors du développement d'applications Web.

Astuces de piratage de site Web: pirater un site Web en ligne

Dans ce scénario pratique de piratage de site Web, nous allons détourner la session utilisateur de l'application Web située à www.techpanda.org. Nous utiliserons des scripts intersites pour lire l'identifiant de session du cookie, puis l'utiliser pour usurper l'identité d'une session utilisateur légitime.

L'hypothèse faite est que l'attaquant a accès à l'application Web et qu'il aimerait détourner les sessions d'autres utilisateurs qui utilisent la même application. Le but de cette attaque pourrait être d'obtenir un accès administrateur à l'application Web en supposant que le compte d'accès de l'attaquant est limité.

Commencer

  • Ouvrez http://www.techpanda.org/
  • Pour des raisons pratiques, il est fortement recommandé d'accéder à l'aide de l'injection SQL. Reportez-vous à cet article pour plus d'informations sur la façon de procéder.
  • L'e-mail de connexion est Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser., Le mot de passe est Password2010
  • Si vous vous êtes connecté avec succès, vous obtiendrez le tableau de bord suivant
  • Cliquez sur Ajouter un nouveau contact
  • Entrez ce qui suit comme prénom

Sombre

ICI,

Le code ci-dessus utilise JavaScript . Il ajoute un lien hypertexte avec un événement onclick . Lorsque l'utilisateur sans méfiance clique sur le lien, l'événement récupère l'ID de session du cookie PHP et l'envoie à la page snatch_sess_id.php avec l'ID de session dans l'URL

  • Entrez les détails restants comme indiqué ci-dessous
  • Cliquez sur Enregistrer les modifications
  • Votre tableau de bord ressemblera maintenant à l'écran suivant
  • Étant donné que le code de script intersite est stocké dans la base de données, il sera chargé à chaque fois que les utilisateurs disposant de droits d'accès se connecteront
  • Supposons que l'administrateur se connecte et clique sur le lien hypertexte qui dit Dark
  • Il / elle obtiendra la fenêtre avec l'identifiant de session affiché dans l'URL

Remarque : le script peut envoyer la valeur à un serveur distant où le PHPSESSID est stocké, puis l'utilisateur est redirigé vers le site Web comme si de rien n'était.

Remarque : la valeur que vous obtenez peut être différente de celle de ce didacticiel de piratage de page Web, mais le concept est le même

Usurpation d'identité de session à l'aide de Firefox et du module complémentaire Tamper Data

L'organigramme ci-dessous montre les étapes à suivre pour réaliser cet exercice.

  • Vous aurez besoin du navigateur Web Firefox pour cette section et du module complémentaire Tamper Data
  • Ouvrez Firefox et installez l'ajout comme indiqué dans les schémas ci-dessous
  • Recherchez les données de sabotage puis cliquez sur installer comme indiqué ci-dessus
  • Cliquez sur Accepter et installer…
  • Cliquez sur Redémarrer maintenant lorsque l'installation est terminée
  • Activez la barre de menus dans Firefox si elle n'est pas affichée
  • Cliquez sur le menu Outils, puis sélectionnez Données de sabotage comme indiqué ci-dessous
  • Vous obtiendrez la fenêtre suivante. Remarque: si Windows n'est pas vide, appuyez sur le bouton Effacer
  • Cliquez sur le menu Démarrer l'autoprotection
  • Revenez au navigateur Web Firefox, tapez http://www.techpanda.org/dashboard.php puis appuyez sur la touche Entrée pour charger la page
  • Vous obtiendrez la fenêtre contextuelle suivante à partir des données de sabotage
  • La fenêtre contextuelle a trois (3) options. L'option Tamper vous permet de modifier les informations d'en-tête HTTP avant qu'elles ne soient soumises au serveur .
  • Clique dessus
  • Vous obtiendrez la fenêtre suivante
  • Copiez l'ID de session PHP que vous avez copié à partir de l'URL d'attaque et collez-le après le signe égal. Votre valeur devrait maintenant ressembler à ceci

PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2

  • Cliquez sur le bouton OK
  • Vous obtiendrez à nouveau la fenêtre contextuelle des données de sabotage
  • Décochez la case qui demande Continuer la falsification?
  • Cliquez sur le bouton Soumettre lorsque vous avez terminé
  • Vous devriez pouvoir voir le tableau de bord comme indiqué ci-dessous

Remarque : nous ne nous sommes pas connectés, nous avons emprunté l'identité d'une session de connexion à l'aide de la valeur PHPSESSID que nous avons récupérée à l'aide de scripts intersites

Résumé

  • Une application Web est basée sur le modèle serveur-client. Le côté client utilise le navigateur Web pour accéder aux ressources sur le serveur.
  • Les applications Web sont généralement accessibles sur Internet. Cela les rend vulnérables aux attaques.
  • Les menaces des applications Web incluent l'injection SQL, l'injection de code, XSS, la dégradation, l'empoisonnement des cookies, etc.
  • Une bonne politique de sécurité lors du développement d'applications Web peut contribuer à les sécuriser.