Vérifier si existence code PHP dans fichier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Vérifier si existence code PHP dans fichier

Re: Vérifier si existence code PHP dans fichier

par bobi » 18 avr. 2011, 08:57

Personne ne peut m'aider ?

Merci

Re: Vérifier si existence code PHP dans fichier

par bobi » 15 avr. 2011, 14:27

Il s'agit d'un code d'upload. Je me suis basé sur le code d'un tuto d'ici.

http://www.phpfrance.com/tutoriaux/inde ... e-fichiers

Re: Vérifier si existence code PHP dans fichier

par Spols » 15 avr. 2011, 13:57

Quelle est le code qui propose ce fichier en téléchargement ? un simple lien ou un bout de code php (dans ce cas montre le nous)

Re: Vérifier si existence code PHP dans fichier

par popy » 15 avr. 2011, 13:06

Oui, mais si le code présent dans le fichier s'exécupe, c'est que ton code l'exécute, c'est pas le comportement normal de php.

Re: Vérifier si existence code PHP dans fichier

par bobi » 15 avr. 2011, 10:27

Tu veux dire que l'upload réagit comme une action d'include ?

Lors de l'upload, le code PHP se trouvant à l'intérieur du faux PDF a bien été interprété. Donc on peut y mettre n'importe quel code pour récupérer ce qu'on veut.

Re: Vérifier si existence code PHP dans fichier

par popy » 15 avr. 2011, 10:22

J'ai hélas testé la chose et...j'ai réussi. J'ai mis dans mon fichier "test.php.pdf" avec à l'intérieur un simple echo.
Ca veut dire que tu fait un include de ce fichier. Réceptionner un fichier PHP ne le fait pas s'exécuter.

Re: Vérifier si existence code PHP dans fichier

par bobi » 15 avr. 2011, 09:34

Bonjour,

Merci pour vos réponses.

J'ai hélas testé la chose et...j'ai réussi. J'ai mis dans mon fichier "test.php.pdf" avec à l'intérieur un simple echo.

Lorsque j'upload ce fichier, j'ai le texte de l'echo qui s'affiche une fois l'upload effectué.

moogli, j'ai essayé la solution d'ouvrir le fichier avec :
$contenu = fread(fopen($_FILES['files_name']['tmp_name'], "r"), filesize($_FILES['files_name']['tmp_name']));
$findme = '<?php';
$pos = strpos($contenu, $findme);


if($pos !== false) {
$erreur = 1;
}
Sauf que ça bloque bien lorsqu'il trouve la chaîne, mais en cas de fichier normal l'upload ne marche plus #-o

Re: Vérifier si existence code PHP dans fichier

par moogli » 15 avr. 2011, 00:47

salut,

vérifie le type mime afin d'éviter ce genre de chose (il ne faut pas que tu dl de fichier texte ;)).

ton fichier ne peut être exécuté, le serveur ne va (ne doit)pas associer pdf a php, par contre en cas d'include la ça peut poser problème ;)

après il est possible de "falsifier" le type mime, tu peut aussi utiliser getimagesize histoire d'aider la chose, mais c'est surement falsifiable aussi :)

après il y a surement d'autre possibilité, tu peut ouvrir le fichier et voir s'il y a des <?php dedans histoire d'être certain que s'il y a du code il ne sera pas exécuter.

après j'ai plus d'idée ;)

edit : develop78 : normalement c'est pas possible, mais j'ai pu tester que si tu appel le fichier cela peut être possible (par exemple une utilisation foireuse de pseudo frame ;)).

@+

Re: Vérifier si existence code PHP dans fichier

par devlop78 » 15 avr. 2011, 00:46

Quand tu appelles fichier.php.pdf, le code php du fichier est exécuté ???

Vérifie bien ça, et si c'est le cas, c'est un problème de configuration serveur.

Vérifier si existence code PHP dans fichier

par bobi » 14 avr. 2011, 21:47

Bonsoir,

J'utilise un code PHP qui permet de faire un upload de fichiers (gif, png, txt, xls, pdf...)

Une personne mal intentionnée peut mettre un code PHP dans un fichier qui s'appelle par exemple "fichier.php.pdf". L'upload marche sauf que le code se trouvant dans ce fichier est bien exécuté...

Comment puis-je faire pour détourner ces tentatives de hacks ?

Merci pour votre aide