Challenge faille include

fab -  
 Gugelhupf -
bonjour,
voila mon probleme.
je bloque sur un challenge.
il s'agit d'une faille include.
voici le lien:

http://atomicftp.free.fr/Challenge/hacking/epreuve1/index.php?page=napoleon.php

il faut, à l'aide d'une commande genre ../../ remonter dans l'url et trouver une page ou serait le pass de l'epreuve.
je ne sais pas si c'est bien clair ce que je dis.
j'ai essayé 1000 trucs differents. des/admin, des /htpasswd...rien à faire.
je ne sais meme pas a quel endroit de l'url il faut remonter.est-ce avant le = ou apres?
en tous cas merci à ceux qui prendront 5min pour me repondre.
A voir également:

22 réponses

Posotaz Messages postés 489 Date d'inscription   Statut Membre Dernière intervention   225
 
Pour la petite histoire générale, que tout le monde sache bien de quoi on parle, il existe un tas de failles de sécurité en PHP. On connait les failles d'injection (à l'aide d'un formulaire on peut injecter une requête SQL, du fait que le script PHP va concaténer ça bêtement plutôt que de s'attendre à recevoir une simple valeur et éliminer tout le reste) mais on en a plein d'autres, dont une fort connue appelée "faille include".

Include est avant tout une instruction qui permet d'inclure (donc d'insérer) un bout de code dans la page actuelle depuis un autre fichier (je parle de code mais ce n'est que du texte, on peut inclure n'importe quoi comme texte en théorie, dont du code PHP).

Le problème c'est que dans un premier temps, on pouvait inclure des ressources venant de n'importe où sur Internet. Ce qui permet en fait d'injecter un code malsain sur sa propre page. En fait il est bon de savoir que si on ne sait pas accéder à une ressource sur un serveur distant (par exemple parce qu'on a protégé un répertoire avec un .htaccess ou que sais-je), le script sur le serveur, lui, peut accéder à tout ce qu'il veut. Le script serveur mais également le code inclus (donc injecté innocentement) par un vilain méchant de façon tout à fait naturelle. A partir de là il prend un grand contôle du serveur... tout ce que le PHP est capable de faire en local, le script externe inclus pourra le faire puisqu'ils ne font plus qu'un.

L'intérêt d'inclure un fichier venant d'Internet était par exemple de pouvoir utiliser un package de fonctions déjà toutes faites, c'est pour ça que ça avait été mis en oeuvre. PHP5 n'autorise plus ceci par défaut. Donc là chacun est obligé (ou plutôt conseillé) de télécharger tout package en local sur son serveur.

Mais comme notre ami Fab va s'en rendre compte, la faille include est à double tranchant, avec moins bien d'efforts qu'il ne l'imagine il va pouvoir remonter d'un répertoire (alors que normalement on ne sait pas y accéder en indiquant directement l'URL) justement au travers de cette faille include.
7
Gugelhupf
 
Un petit peu de pratique maintenant, voici ce qu'il ne faut pas faire pour avoir une faille include :
<?php
include($_GET['page']);


En effet l'utilisateur peut modifier l'URL, y écrire tout ce qu'il désire, par conséquent ne mettez donc pas de variables dans vos include.
0
d4v3ng3r
 
Alex ....

tu t'es pas dit que des CENTAINES d'internautes qui seraient tombés sur ce topic, aurait eux aussi envie de trouver la solution ???

et bah non c'est dommage pour eux, t'as posté la solution et t'as détruit le plaisir des futurs internautes qui aimeraient trouver la faille eux même !

tu voulais peut-etre faire le fier,le brave,le "hacker",mais bon pour une faille de ce niveau la,ca n'en valait pas la peine.

Des indices aurait été acceptables, mais la t'as carément donné la solution, c'est plus marrant. Ce topic ne va même plus vivre...

bref, bonne journée à tous, et encore merci Alex pour ton acte héroique. Faudrait jamais te confier un secret toi. Encore heureux que c'est pas toi qui trie les bulletins de vote de l'election présidentielle, et que ca soit pas toi qui présente qui veut gagner des millions aussi, alors la tu passerait pour un boulet devant des millions de telespectateurs apres avoir donné toutes les réponses avant d'avoir laissé le temps au candidats de répondre, tellement t'aime faire l'intelligent lol.

@+++
1
keyz1 Messages postés 279 Date d'inscription   Statut Membre Dernière intervention   5
 
carrément héroïque
0
prosthetiks Messages postés 1189 Date d'inscription   Statut Membre Dernière intervention   431
 
Comment t'agresse ! pour info, le premier résultat de google sur les mots clés "faille include" renvois vers: http://www.ghostsinthestack.org/article-16-la-faille-include.html Qui est 100x plus détaillé que la petite présentation du type de faille faite ce dessus,,,
0
Posotaz Messages postés 489 Date d'inscription   Statut Membre Dernière intervention   225
 
Hum...

Dans : http://atomicftp.free.fr/Challenge/hacking/epreuve1/index.php?page=napoleon.php

Le "=" et d'ailleurs tout ce qui suit le "?" sont uniquement des options à fournir à la page index.php, donc ton URL revient à :

http://atomicftp.free.fr/Challenge/hacking/epreuve1/index.php


Maintenant ça dépend dans quelle page tu as placé ton include. Si dans index.php (page placée dans le répertoire "epreuve1"), à chaque fois que tu fais "../" tu remontes d'un niveau (là tu arrivaras au dossier "hacking" et ainsi de suite). Si dans "napoleon.php", il faut savoir où est placé ce fichier et te déplacer à l'aide des mêmes méthodes...

Maintenant quand tu remontes d'un niveau il faut savoir ce que tu cherches. C'est certain que tu tombes sur un dossier dans tous les cas, donc à toi de lister les fichiers pour voir si tu ne trouves pas ton fameux fichier "pass").
0
fab
 
hum..

bonjour et merci pour les reponses..
au risque de passer pour un n00b, mais c'est pas encore tres clair tout ca....tu m'as aidé je le reconnais mais
je n'arrive pas a finir cette epreuve.
pourtant j'en ai fini de niveau superieur mais je cale completement sur celle la.
et d'apres ce que j'a pu lire un peu partout, je vais m'en vouloir quand je trouverai car c'est vrailent facile!

quant à nomdecode220, en gros faut trouver une page dans laquelle il ya le pass de l'epreuve.
j'y retourne..ca m'enerve de bloquer la dessus
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Posotaz Messages postés 489 Date d'inscription   Statut Membre Dernière intervention   225
 
Bonjour :D

Ah ok en fait t'essaies de pirater le site pour tricher dans le jeu ? Pas cool ça ^^
0
fab
 
le jeu c'est e pirater le site justement!
mais cette faille m'echappe.
je ne comprends pas ou il faut chercher...
0
Posotaz Messages postés 489 Date d'inscription   Statut Membre Dernière intervention   225
 
Ah ok man, j'ai compris :D

En effet c'est "très con" (quoique fallait quand même le trouver sur Google pour le savoir :D) à trouver... ^^

Je te donne un indice ? Si tu t'étais enregistré sur le site j'aurais pu te le donner par message privé tiens :D
0
ppoulet Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
a y'est je suis inscrit.
bon..je suis arrivé à l'index du site.
y'a deux dossiers...challenge et session..
mais j'en sais as plus
je veux bien l'indice stp
0
ppoulet Messages postés 2 Date d'inscription   Statut Membre Dernière intervention  
 
au fait...
c'est bien moi.
mais fab etait deja pris quand je me suis inscrit XD
0
d4v3ng3r
 
bonsoir a tous...

fab tu t'es pris la tête pour rien..

c'est trop simple

moi qui suis nul en PHP, et encore pire en HACKING, j'ai trouvé la faille...

tu veux que je te donne la réponse ? mdr

:p
0
d4v3ng3r
 
j'ai meme recu le mot de passe tien !

( indice : " kellogs " )

bonne nuit
0
Posotaz Messages postés 489 Date d'inscription   Statut Membre Dernière intervention   225
 
Il a trouvé ;-)
0
Serge_La Messages postés 407 Date d'inscription   Statut Membre Dernière intervention   47
 
Vous m'intriguez, les mecs. Doit-on créer une page sur son propre site internet pour que ça fonctionne?

Serge.
0
Posotaz Messages postés 489 Date d'inscription   Statut Membre Dernière intervention   225
 
Pour trouver la faille, non ^^
0
d4v3ng3r
 
Faut juste un peu reflechir...

partir du principe que le site utilise des includes du type " index.php?page=blablabla" ...

et qui dit include dit... heum heum j'ai mal a la george je reviens + tard

:p :p :p

a bientot
0
Serge_La Messages postés 407 Date d'inscription   Statut Membre Dernière intervention   47
 
Non, désolé. J'ai essayé plusieurs trucs de hackeurs et la faille include ne paraît pas. Mais je ne suis pas un hackeur non plus. Alors.
0
d4v3ng3r
 
Serge, n'abandonne pas, tiens un indice :

Faut que t'utilise les commandes pour se "ballader" dans l'arborescence du site...

ca + l'include...

Si tu trouve pas c'est que t'es pas sur le bon site XD

bonne n...matin !
0
Serge_La Messages postés 407 Date d'inscription   Statut Membre Dernière intervention   47
 
Je ne trouve pas. Mais je connais peu php. De plus, les tests pour voir si la faille est là, flanchent. Je recois toujours: "Page introuvable !!". Peu importe ce que je mets en blabla.
Je vais devoir étudier php un peu. Zut!
0
alex
 
http://atomicftp.free.fr/Challenge/hacking/epreuve1/index.php?page=napoleon.php
c simple pourtant la seul fonction que tu puisse utiliser c "../" ki te permet de voir l'arborescense de l'url donc tu dois taper
http://atomicftp.free.fr/Challenge/hacking/epreuve1/index.php?page=../ et la miracle cela fonctionne
0
Serge_La Messages postés 407 Date d'inscription   Statut Membre Dernière intervention   47
 
Merci. Oui, on m'a donné la solution par message privé. Ça marche parcequ'ils le permettent. Les autres tests pour montrer la faille include ne fonctionnent pas.
0
Ohm-WorK Messages postés 1464 Date d'inscription   Statut Contributeur Dernière intervention   420
 
salut

Peut tu donner le site décrivant tout le challenge ?

Tchuss
0
Serge_La Messages postés 407 Date d'inscription   Statut Membre Dernière intervention   47
 
Bonjour,
non mais il est pas marrant ce d4v3ng3r? Un robot lanceur de flames. haha!
L'exercice montre que les hack peuvent être vraiment facile. Les hackeurs, pas si futés.

Serge.
0