Web - Serveur

mardi 14 juin 2016, 12:44  #1
Web - Serveur [Local File Inclusion - Double encoding]
apanchev
  • 3 posts

Bonjour tout le monde, je ne crois pas avoir vu de poste sur ce challenge, alors je me lance !
Tous les exemples que je vais donner dans mes messages assument l’utilisation du double encoding.

Donc voila, j’aimerai que l’on m’éclaire un peu sur certaines choses dont je ne comprend pas vraiment la logique de fonctionnement ...
L’inclusion de base/par defaut est : home
Lorsque j’inclus : ./home | Cela fonctionne
Mais lorsque j’inclus : ./home.inc.php + le null byte | cela ne fonctionne pas : "Warning : include() : Failed opening ’./home.inc.php’ for inclusion (include_path=’. :/usr/share/php :/usr/share/pear’) in /challenge/web-serveur/ch45/index.php on line 7"

Pourtant, le fichier se trouve bien à la racine du dossier où la fonction pointe, et se nomme bien de cette façon si j’en crois mes divers tests.
Quelqu’un peut-il m’expliquer pourquoi ?
Merci à vous !

mardi 14 juin 2016, 13:11  #2
Web - Serveur [Local File Inclusion - Double encoding]
Arod
  • 19 posts

Les NULL bytes ne sont plus possibles dans la plupart des fonctions PHP sensibles depuis 5.3.4 ;)
http://svn.php.net/viewvc?view=revision&revision=305507

mercredi 15 juin 2016, 09:40  #3
Web - Serveur [Local File Inclusion - Double encoding]
apanchev
  • 3 posts

Merci pour la réponse !

Est-ce qu’il existe une manière de skip l’extension du fichier qui est ajouté pour l’include ?
Ou peut-être faut-il que je m’oriente vers une autre technique ?

mercredi 15 juin 2016, 15:15  #4
Web - Serveur [Local File Inclusion - Double encoding]
Matthieu
  • 30 posts

Bonjour a tous,
Tout d’abord merci a toi apanchev pour avoir poser ta question car je comptais le faire !
Je vois que le challenge est récent mais il est un niveaud de difficulté que j’arrive habituellement a résoudre dans la section Web-Serveur !
J’ai bien compris le challenge et le double encoding, j’arrive d’ailleurs a faire commprendre a la page ce que je veux (c’est déja ca !)
Mais effectivement grace a apanchev je viens de caler que ma null Byte ne marche pas !!
Donc je me pose plusieurs question :
 Quand vous dites le code source du site web : de quel page du site web ?? Index.php ?
 Faut il utiliser les php wrapper pour cet exploit ? Vu son niveau de difficulté je ne pensais pas mais apres plusieurs try je commence a me demander !
Merci a vous

mercredi 15 juin 2016, 17:31  #5
Web - Serveur [Local File Inclusion - Double encoding]
link7547
  • 11 posts

Vous avez fait la moitié du boulot, c’est sur la suite que vous partez dans de mauvaise direction (aussi bien Matthieu que apanchev).

Maintenant que vous pouvez afficher les pages du site grâce au double encoding, il vous faut trouver le moyen d’afficher le code source (pas besoin de citer la page en question vu que lorsque vous trouverez la méthode vous pourrez voir rapidement quelle page il faut afficher).

Bon courage !

mercredi 15 juin 2016, 20:03  #6
Web - Serveur [Local File Inclusion - Double encoding]
Matthieu
  • 30 posts

Hmm Merci de ta réponse !
Mais le truc c’est que du guessing maintenant !
Si on arrive a entrer n’importe quelle string dans la variable _GET, le but maintenant et de trouvé quelle page afficher !
Mais comme l’a dit Arold, les NullByte ne fonctionnent plus, le fichier c’est forcement un inc.php a afficher ?!
A moin qu’il faille utiliser php filters

mercredi 15 juin 2016, 20:11  #7
Web - Serveur [Local File Inclusion - Double encoding]
sambecks
  • 83 posts

Salut,

Non, dans ce chall y’a 0 guessing. Suit ton intuition Matthieu.

Bon courage,
Hésitez pas à venir faire un tour sur IRC.

vendredi 17 juin 2016, 14:51  #8
Web - Serveur [Local File Inclusion - Double encoding]
apanchev
  • 3 posts

Merci à tous, chall validé grâce à toutes vos réponses 😄

dimanche 19 juin 2016, 15:28  #9
Web - Serveur [Local File Inclusion - Double encoding]
Matthieu
  • 30 posts

Merci a vous,
Challenge validé aussi !
Tout bete en fait !
A+

jeudi 7 juillet 2016, 12:16  #10
Web - Serveur [Local File Inclusion - Double encoding]
Mike
  • 1 posts

Hmm.. Moi je suis également coincé.

Si j’ai bien compris, le code source à afficher est celui de index.php, non ?
J’ai donc essayé (si j’en dis trop, censurez moi !) grâce à la vulnérabilité d’écrire un code qui m’ouvre et me lit le contenu du fichier, mais cela ne fonctionne pas..
C’est quelque chose comme ça qu’il faut faire ?
Merci d’avance :)

mardi 26 juillet 2016, 20:05  #11
Web - Serveur [Local File Inclusion - Double encoding]
Zeecka
  • 2 posts

Bon je viens de le faire et j’apporte une aide à un de mes problèmes rencontrés et non évoqués :).
Pour commencer, visiblement pas de nullbyte déjà comme ça a pu être précédemment expliqué.
Ensuite, "LFI - Double encoding" porte bien son nom (je vous conseil donc de faire le challenge Local File Inclusion avant si ce n’est pas le cas ;) ).
Une fois le(s) premier(s) code source affiché(s), vous allez vous rendre compte quelle est la page sensible en question (pas de guessing, c’est explicite).
Enfin : Relisez bien plusieurs fois le nom de cette page avant de l’afficher, on a tendance à vouloir aller vite et à ne pas le trouver :)

samedi 10 septembre 2016, 13:45  #12
Web - Serveur [Local File Inclusion - Double encoding]
Claude
  • 3 posts

Salut,
Je viens de le terminer : comme l’a expliqué zeecka il faut faire le challenge LFI avant si possible mais surtout le challenge php filters qui aide vraiment. Et surtout bien faire attention de ne pas se tromper au moment du double encoding (c’était mon erreur).
@+

jeudi 15 décembre 2016, 16:35  #13
Web - Serveur [Local File Inclusion - Double encoding]
Conil
  • 2 posts

Merci vos conseils ont beaucoup aidé !