mardi 16 février 2016

Tutoriel LFI_php://filter + Connexion Mysql + Dump Database

Bonjour je vais poster un peut tutoriel sur un méthode LFI très sympa, mais surtout très facile.
Nous parlons ici des wrappers.

Explication de cette faille:

PHP dispose de nombreux protocoles natifs, pour différents styles d’URL, à utiliser avec des fonctions de fichiers telles que fopen() et copy().
Pour avoir plus d'information je vous invite à lire la document PHP:
http://ift.tt/1VktYda

Donc en résumé, le problème depuis php 5.0 est que certaines fonctions, et ici pour cette faille ne qui nous intéressent sont les flux d’entrée et de sortie.
En exmple php://filter permet en effet d’appliquer un filtre aux données qui transitent dans les flux d’entrée et de sortie. On peut illustrer cela avec la fonction readfile(): au lieu de récupérer les données d’un fichier en clair, vous pouvez récupérer les données encodées en base64, en rot13, ou encore (dé)compresser en bzip2 le fichier.
Mais aussi par exemple si vous lancez un fopen() sur php://output dans votre script php, toutes les données que vous écrirez serons écrites dans le STDOUT; il s’agit donc d’un équivalent aux fonctions echo ou print.

Exploitation:

Cherchons la vulnérabilité:

Donc en cherchant un peut dans les différentes pages de ce site, je remarque une chose qui me permet de pensé que ce site est vulnérable au lfi wrapprers: c'est que les pages inclus des fichiers au extension .php



Donc je vais tester est voir si elle "peut être" vulnérable, avec un simple retour en arrière de répertoire, via un simple ../ à la place du page.php.



Voilà cette erreur me signifie qu'il "peut être" vulnérable.De là on va voir si on peut affiché le fichier /etc/passwd, on modifiant notre URL en conséquence.


Voilà , ce qui me confirme une faille de type LFI.
Je pourrais tenté de faire une injection via le proc/self/environ ou bien via le /proc/self/fd ou du lfi log poisoning , ça c'est un autre tutoriel.

Passons à l'exploitation maintenant:

Cette méthode est très facile à réaliser.
Nous allons utiliser php://filter pour lire les fichiers (Source) cryptés en BASE-64.
C'est utile quand nous voulons récupérer des informations MySQL ou pour vérifier n'importe quel vulnérabilité mais le fichier doit être en .PHP...
Donc on aura besoin d'un site pour décrypté du BASE64: http://ift.tt/1VktYdh

Commençons:
Disons que je veux lire la page index.php, je vais modifier mon injection comme suit:
http://ift.tt/1VktYtv
Et on va obtenir un code BASE64 sur la page:


Si on décode ce code BASE64, ont obtiens ceci:


Ici on vois 2 inclusion de fichier PHP:
cOnfig.php
connect_database.php
Je vais modifie l'URL pour inclure non plus index.php , mais cOnfig.php


On décode ces informations:


Super du premier coups, j'ai récupérais les identifiant de connection mysql.
Maintenant que faire avec ça?
Ben je vais me connecter à leurs base de donnée et la dumper:
Lien informatif: http://ift.tt/1KUBaw4
Donc les informations sont:
$dbhost = 'masqué les amis';
$dbuser = 'wse82094';
$dbpass = '4qa95hb235';
$dbname = 'wse82094';
Donc selon le protocole de connexion, nous allons faire:
mysql -h dbhost(masqué ici) -u wse82094 -p (puis entrée, puis mettre le password)



Pour voir les bases de donnée, nous allons utilisé: SHOW DATABASES;



Je ne vais pas passé toutes les commandes mysql, exemple use nomdela database, ou show nomde tables ..
A vous d'apprendre à vous en servir.
Maintenant je quitte avec exit.

On a vu les Db suivant:
  • wse82094
  • wse82094_1

Je vais juste dumper la premier DB wse82094
Comment ? voici un petit lien utile:
http://ift.tt/1KUBdry

Donc maintenant c'est easy :)
On va utiliser msqldump
mysqldump -h dbhost(masqué ici) -u wse82094 -p wse82094 > dump.sql
information: wse82094 est le nom de la database que je dump.



Voilà c'est fin , j'espère que ce tutoriel vous a fait plaisir.
J'ai voulu poster un de mes vieux tutoriels, en espèrant voir d'autre membres suivre un peu, ce qui est le but d'un forum.. le partage.


from Hackademics : Forum de hacking – hackers white hat – cours de securite informatique, apprendre langage python, tutoriels de reverse engineering http://ift.tt/1KUBdrA
via IFTTT

Aucun commentaire:

Enregistrer un commentaire