Type d'un fichier

[Résolu]
Signaler
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008
-
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008
-
Salut,

    Avant lorsque je faisais un upload et que je n'acceptais que les images, j'utilisais la fonction "getimagesize". Mais après avoir fait quelques tests, j'ai pu voir que lorsqu'on met du PHP à la fin du code de l'image, ce dernier n'est pas detecté ...

    J'ai donc essayé en vain de trouver comment on pouvait connaître le type d'un fichier. Tout ce que je parvient à trouver c'est qu'il faut récupérer les 3 premiers octets qui sont la signature hexadécimale (du moins si j'ai bien compris...).

J'aimerai savoir comment peut on être sur du type du fichier ?
Merci d'avance pour vos réponses !

For every choice, a consequence (Fable)

8 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
salut

on ne peut pas etre sur du type du fichier.
Messages postés
962
Date d'inscription
samedi 19 janvier 2002
Statut
Membre
Dernière intervention
2 août 2010
1
Salut,

Je vois pas trop le lien avec telnet et l'injection SQL.
Je ne vois pas non plus le problème à cacher du code php à la fin d'une image, si le fichier n'a pas l'extension .php (ou toutes autres définies par le serveur), le code ne sera jamais interprété donc pas de danger

Il n'y a aucun moyen d'être sur à 100% d'un fichier, après tout, un fichier n'est qu'une suite d'octet, et dans n'importe quel fichier il peut y avoir n'importe quel octets  Parce que la méthode dont tu parles, récupéré les trois premiers octets, servent à déterminer le type oui, mais ils ne prennent pas en compte le reste du fichier !

Bon, si tu es vraiment inquiêt et que les fichiers en question sont des images, tu peux aussi les faires passer par GD (Sans forcément les manipuler, juste les réenregistrer) ce qui va te laisser une image pure .

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
35
Salut,

Coucou747++

Tu devrai aller voir dans le profil de coucou747 pour trouver la source ou le tutorial qu'il a écrit sur les injection avec fichier, sql, par l'url, etc...

Et tu verrai qu'on peut changer le type d'un fichier avec telnet (si je me souviens bien...) !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
35
@yoman : il n'y a pas de rapport entre telnet et une injection SQL...

Je parlais du tutorial, il parle de comment faire pour faire passer un fichier sur le serveur et ensuite en changer l'extension (avec telnet) pour ensuite pouvoir l'éxécuter en se rendant a son adresse...

Enfin bon, je ne suis même plus sur que l'article est de coucou747, je l'ai lu il y a 1 mois...

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
j'ai effectivement fait des choses du genre :
une source avec un passage d'un .php avec comme type : image/jpeg
une source avec differentes failles dont des injections sql
Messages postés
3472
Date d'inscription
lundi 16 juillet 2007
Statut
Membre
Dernière intervention
28 février 2014
35
oui, voila, je parle de ces sources la...

D'ailleur je te remercie de les avoir postés, elle m'ont beaucoup apprit et aidé !

a++

Si la réponse vous convient, pensez : Réponse acceptée !
Messages postés
1123
Date d'inscription
mardi 8 janvier 2002
Statut
Modérateur
Dernière intervention
21 avril 2009
1
L'idée de Yoman, de traiter le fichier en le nettoyant avec gd semble etre une solution viable.

On peux faire beaucoup de mauvaises choses avec un fichier mal formé ! :/
Personnellement je ne vois pas d'autres solutions !

http://www.ReFlectiv.Net
Messages postés
373
Date d'inscription
samedi 9 juillet 2005
Statut
Membre
Dernière intervention
11 août 2008

Merci à tous pour vos conseils et désolé du retard pour ma réponse !
Je pense également que la solution de Yoman94 soit la plus utilisable pour les images.

@Nicomilville : Je connais le script de Coucou747, par contre tu n'as pas compris le telnet : Tu peux envoyer des données d'une page à une page à l'aide d'un formulaire. En passant par un telnet tu peux "simuler" le formulaire, et donc envoyer un fichier PHP avec un MIME Jpeg...

Encore une fois merci pour vos réponses =)

For every choice, a consequence (Fable)