• STATISTIQUES
  • Il y a eu un total de 0 membres et 28431 visiteurs sur le site dans les dernières 24h pour un total de 28 431 personnes!
    Membres: 2 605
    Discussions: 3 579
    Messages: 32 816
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [EN] wechall
    Pour les gens n'étant pas familiers avec les sites de challenges, un site de challenges est un site propos...
    Hacking
    [EN] Listbrain Version 3
    Site proposant 66 challenges présentés dans une liste mélangée.
    Challenges
    [FR] NewbieContest
    Nous vous proposons une série de challenges regroupant plusieurs domaines allant de l'exploitation de fail...
    Hacking
    [EN] Sabre Films
    Site de challenge présenté sous la forme d'une quête. Vous êtes un détective et devrez résoudre d...
    Challenges
    [EN] Big-Daddy
    Big-Daddy est site internet communautaire avec un effectif diversifié, y compris des artistes, des programmeur...
    Hacking
    [FR] frameip
    le site de partage des connaissances du monde TCPIP
    Protocole
    [EN] w3challs
    Ce site propose différents types de défis informatiques: piratage, craquage, cryptographie, stég...
    Hacking

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
injection de code malicieux sur des fichiers images
12-01-2015, 21h52
Message : #1
wass19 Hors ligne
Newbie
*



Messages : 18
Sujets : 6
Points: -5
Inscription : Jan 2015
injection de code malicieux sur des fichiers images
bonjour
je suis développeur web, et j'ai su recement quon peut injecter un code malicieux (php, javascript, ...) et les uploader en ligne
j'utilise bcp le php, et je souhaiterais savoir comment contrer cette attaque
existe t'il un script qui analyse le fichier image, et detecte le code par exemple ?
j'aimerais si possible apprendre cette technique (je ne cherche pas a faire du mal mais je pense que ça peut servir) et je souhaiterais apprendre a proteger mes sites face a ce genre d'attaques
merci de votre aide Smile
+1 (0) -1 (0) Répondre
12-01-2015, 21h59
Message : #2
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
Inscription : Jan 2012
RE: injection de code malicieux sur des fichiers images
Bonjour,

Tout d'abord ton code PHP ne sera exécuté uniquement si tu fais un include() du fichier (ce qu'il ne faut évidemment pas faire...). Pour lire le contenu de l'image, la fonction file_get_contents ("nom_du_fichier") fera très bien l'affaire et lira le contenu entier du fichier sans chercher à l'interpréter, tandis que le javascript éventuel "contenu" dans une image n'est pas interprété par le navigateur.

Ensuite, concernant l'envoi de fichier, le mieux reste encore de vérifier l'extension en autorisant que certaines extensions et en rejetant les autres (pour qu'un attaquant ne puisse pas uploader de fichiers sensibles) ET le type MIME du fichier (vérifier que on reçoit bien une image si le script attend une image).

Sinon pour apprendre, y'a quelques challenges assez faciles qui permettent de t'entraîner à exploiter cette faille Wink
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (1) -1 (0) Répondre
12-01-2015, 22h15
Message : #3
ark Hors ligne
Psyckomodo!
*****



Messages : 1,033
Sujets : 48
Points: 317
Inscription : Sep 2011
RE: injection de code malicieux sur des fichiers images
Salut,

Difficile de repondre a ta question, mais je vais essayer de synthetiser.
Alors, en fait, si tu veux te proteger de ce genre de failles, il y a deux regles tres importantes: premierement, fais attention quand tu code, et deuxiemement, ne fais jamais confiance a tout ce que l'utilisateur peut modifier.

Pour faire simple, l'utilisateur peut modifier TOUS les paramettres que tu passes via tes requetes, il convient donc de verifier si ce que tu recoit reste correct.

Imaginons par exemple, que tu aies un formulaire d'upload d'image, pour un avatar sur ton forum ou autre. Dans ce cas, il convient de s'assurer que le fichier est reellement une image. En effet, un utilisateur malicieux pourrait essayer de faire passer du code php pour une image.
Et la precisement, tu te retrouve avec un probleme! En effet, si l'utilisateur peut upload son fichier sur ton serveur, il est donc en mesure d'executer du code php sur cette machine, et donc peut y faire tout et n'importe quoi (poser une backdoor, rooter la machine et y laisser un rootkit...)
Sur ce genre de vulnerabilites, en general, la meilleure solution va etre de verifier les extensions du fichier (etablir une liste d'extension autorisees, .gif, .png, .jpg, etc) et rejeter tous les fichier ayant une autre extension que celles presentent dans la liste. Tu peux ensuite recuperer les donnees de l'image, et verifier que le header soit bien present, et que les informations y sont valides.

Cependant, bien que ton formulaire soit plutot securise apres que tu aies effectues ces modifications, il se peut pour autant qu'une autre vulnerabilite soit presente, prennons l'exemple d'une page php, qui inclue une page dont le nom est passe en parametre a la requete.

par exemple:
www.foo.bar/?page=index.php

Ici, que ce passerait-il si l'utilisateur modifie le nom de cette page dans l'url? Il pourrait acceder a n'importe quelle page du site. Pas tres important? Erreur! :p

En effet, si ce parametre n'est pas verifie, l'utilisateur va pouvoir inclure tout fichier present sur le serveur, et ainsi avoir un acces en lecture sur une grande majorite des fichiers disponibles (/etc/passwd etant le favori sur les serveurs linux :p)

Bon, avoir un acces en lecture, c'est genant, mais c'est pas ca le pire. Le pire, c'est que l'utilisateur, juste avant, il a uploade une jolie image pour faire son avatar, et il a mis du code php dans le code de l'image... Qu'est ce qu'il se passe si il inclue son image en modifiant le parametre?

Et ben il execute son code php! Et la encore, domage pour ton serveur, mais tu peux songer a reinstaller ^^

En bref, NEVER TRUST USER INPUT !!!
Penses a verifier toutes les entrees utilisateurs, meme les plus annodines, escape tout ce que tu envoi en base de donnee avec mysql_real_escape_string() ou un equivalent si tu n'utilise pas mysql. Penses a convertir les characteres speciaux en utilisant l'encodage html, etc.

voili voilou :)

Sinon, hesites pas a taper un peu sur les challenges (particulierement dans les sections hacking et javascript) pour mieux comprendre ce qui ne va pas avec les manques de verification.
+1 (1) -1 (0) Répondre
12-01-2015, 22h52 (Modification du message : 12-01-2015, 23h43 par otherflow.)
Message : #4
otherflow Hors ligne
Newbie
*



Messages : 20
Sujets : 2
Points: 18
Inscription : Aug 2014
RE: injection de code malicieux sur des fichiers images
Bonjour wass19

Dans sa méthode la plus simple, l'injection de code par le biais d'une image passe par l'utilisation des espaces laisser vide dans la structure du fichier d'image (exemple : commentaires) pouvant être utilisé pour y insérerez du code pouvant être exécute.

Une méthode palliative a ce type d'objet est la recherche des pattern de début et de fin de code (<?php ou <? et ?> pour PHP et <script> (et ces variantes) et </script> pour le Javascript et autre VBscript).

La méthode pour parser une image lors de l'envoie via un formulaire peut être de se placer en amont de la fonction move_uploaded_file en créant une fonction de copie sécurise qui ouvrir manuellement le fichier temporaire ($_FILE['champ_formulaire']['tmp_name']) et de parse le contenu de l'image à la volé avant de l'écrire à son emplacement de destination.

Pseudo code :
Code :
Ouvrir $_FILE['champ_formulaire']['tmp_name']
Lire Fichier
Supprimer [<?php, <?, ?>, <script, </script>]
Ouvrir FICHIER_DE_DESTINATION
Écrire CONTENU_ÉCHAPPE
Fermer $_FILE['champ_formulaire']['tmp_name']
Fermer  FICHIER_DE_DESTINATION

Si il s'agit d'images pouvant être incluse à partir d'un autre site via des balises iframe ou simplement des balises img. Une solution est de télécharger l'image depuis son endroits de d'origine via des fonctions telle que file_get_contents et de la parser et d'autoriser sont utilisation dans le cas ou aucune balise n'a été détecté.

Pseudo code :
Code :
Telecharger IMAGE
Ouvrir IMAGE
Lire IMAGE
Detecter [<?php, <?, ?>, <script, </script>]
SI Detecter Alors
      IMAGE_NON_VALIDE
      INTERDICTION DE L'IMAGE
Fermer IMAGE

En espérant avoir été assez clair, bon courage.

otherflow
+1 (1) -1 (0) Répondre
12-01-2015, 23h08
Message : #5
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
Inscription : Jan 2012
RE: injection de code malicieux sur des fichiers images
Mouais, enfin si tu échappes < et > dans l'image, si ces caractères se retrouvent dans les données de l'image (ce qui représente une probabilité de 2/255 pour chaque caractère :]) ben ceux-ci vont être remplacés par d'autres caractères ce qui risque malheureusement de dégrader fortement le contenu de l'image... (sans parler des faux positifs).

A la rigueur, encoder le fichier (en base64/uuencode ou autre chiffrement réversible) pourrait aider à se prémunir contre ce genre d'attaques (moyennant le script décodant l'image à chaque fois, pas vraiment super pour les performances si le site est très fréquenté), ou sinon faire attention à ne pas laisser traîner de failles débiles sur son site et monitorer convenablement les logs (et remonter par mail/SMS/pigeon voyageur des tentatives d'attaques visibles dans les logs) si on a la chance d'avoir un VPS/dédié, même si ça peut paraître assez difficile à mettre en place au premier abord Wink
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (0) -1 (0) Répondre
12-01-2015, 23h53 (Modification du message : 12-01-2015, 23h53 par otherflow.)
Message : #6
otherflow Hors ligne
Newbie
*



Messages : 20
Sujets : 2
Points: 18
Inscription : Aug 2014
RE: injection de code malicieux sur des fichiers images
Premier point :
supersnail a écrit :Mouais, enfin si tu échappes < et > dans l'image, si ces caractères se retrouvent dans les données de l'image (ce qui représente une probabilité de 2/255 pour chaque caractère :]) ben ceux-ci vont être remplacés par d'autres caractères ce qui risque malheureusement de dégrader fortement le contenu de l'image... (sans parler des faux positifs).

Effectivement, j'ai voulu trop optimiser mon pseudo code. Ils faut détecter et supprimer les patterns complet : <?php ou <? et ?> pour PHP et <script> (et ces variantes) et </script> pour le Javascript et autre VBscript

otherflow a écrit :Une méthode palliative a ce type d'objet est la recherche des pattern de début et de fin de code (<?php ou <? et ?> pour PHP et <script> (et ces variantes) et </script> pour le Javascript et autre VBscript).

J'ai édité mon post précédant avec une correction

Second point :
supersnail a écrit :A la rigueur, encoder le fichier (en base64/uuencode ou autre chiffrement réversible) pourrait aider à se prémunir contre ce genre d'attaques.

L'encodage sert à la sécurisation du transfère de l'information et non à la sûreté du contenu que l'information forme. L'encodage du fichier laisse la charge offensive présente dans le contenu du fichier. Lors de l'utilisation de l'image la charge offensive sera tout de même exécutable prés le dé-encodage, l'image devant être dé-encodée pour être affichée.

otherflow
+1 (1) -1 (0) Répondre
13-01-2015, 03h03
Message : #7
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: injection de code malicieux sur des fichiers images
(12-01-2015, 21h52)wass19 a écrit : j'ai su recement quon peut injecter un code malicieux (php, javascript, ...) et les uploader en ligne (...) je souhaiterais savoir comment contrer cette attaque

c'est un peu comme si quelqu'un te disait "j'ai appris récemment qu'on pouvait se faire aggresser dans le métro, j'aimerais savoir comment éviter ça ?"
la question est courte, mais y'a pas de vraie réponse, ni courte ni pleinement satisfaisante, et si on te dit d'aller prendre des cours de self-sécurité tu risques surement de mal le prendre Wink

Citation :existe t'il un script qui analyse le fichier image, et detecte le code par exemple ?

oui ça s'appelle un antivirus, ou un firewall applicatif bien configuré doit faire le job aussi, mais l'attitude de base va plutôt consister à avoir la maitrise de son code, c'est à dire non seulement savoir faire un programme, mais aussi connaitre de manière très pointue les limites du langage utilisé (en l'occurrence PHP), on trouve d'ailleurs les détails et avertissements de sécurité sur les différentes fonctions directement dans la doc ! (même pas besoin de chercher des repaires de hackers pour ça Big Grin)

les problèmes peuvent être multiples, particulièrement dans le cas d'un formulaire d'upload de fichiers, pas uniquement en terme d’exécution de code, c'est pour afficher dans une page web pour les internautes ensuite ? une image de 30Mo ça passe ? et je peux en uploader autant que je veux ?

à chaque problématique sa solution, on pourrait par exemple envisager d'accepter les fichiers, si ça dépasse 1Mo de données reçues on met fin à la transaction purement et simplement (au niveau de la configuration PHP), puis on essaye de déterminer le type du fichier uploadé, pas en se basant sur l'en-tête http mais sur le contenu du fichier, avec finfo_file() par exemple, si le type du fichier est bien une image, on la redimensionne voire on modifie carrément son format pour la standardiser, s'il y a des trucs foireux à l'intérieur soit l'opération échouera soit les données seront perdues lors de la conversion
enfin, à ce stade on peut raisonnablement penser que les données uploadées sont pas trop mal filtrées, dans une optique de verrouillage j'aurais tendance à rajouter un contrôle antivirus dessus (faut voir si c'est efficace au préalable) ou modsecurity en sortie/affichage ou à faire une sonde maison (...)

...et là il se trouve que t'as une injection sql un peu plus loin dans ton code qui n'a rien à voir avec le formulaire d'upload, et ta base de données qui autorise l'écriture dans un fichier, du coup un pirate peut s'en servir pour uploader du code sans même passer par le formulaire d'upload et tout ce qu'on a dit et mis en place n'a servi à rien... vdm Smile

la meilleure réponse qu'on puisse te faire en l'absence de cas concret avec son code pour accompagner c'est de continuer à lire autour de la doc PHP, des bypass connus de ce langage, mais aussi apprendre et comprendre le système qui soutient ton interpréteur et le serveur web, les réseaux également particulièrement http etc.
et bien évidement quand t'as un doute de nous soumettre un bout de code sur le forum Wink
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (2) -1 (1) Répondre
13-01-2015, 21h12
Message : #8
wass19 Hors ligne
Newbie
*



Messages : 18
Sujets : 6
Points: -5
Inscription : Jan 2015
RE: injection de code malicieux sur des fichiers images
salut a tous
ça fait plaisir de voir tant de reponses, merci infiniment
alors ....

Citation :Tout d'abord ton code PHP ne sera exécuté uniquement si tu fais un include() du fichier (ce qu'il ne faut évidemment pas faire...).

si le code ne s'éxécute qu'on utilisant les include(), donc il n y a plus de dangers O_o, je me demande qui fera un
Code PHP :
include(image.jpg
!!!!!
(a pare biensur la faille que ma éxpliqué ark)
Citation :Sur ce genre de vulnerabilites, en general, la meilleure solution va etre de verifier les extensions du fichier (etablir une liste d'extension autorisees, .gif, .png, .jpg, etc) et rejeter tous les fichier ayant une autre extension que celles presentent dans la liste. Tu peux ensuite recuperer les donnees de l'image, et verifier que le header soit bien present, et que les informations y sont valides.

la je suis d'accord avec vous c'est une exelente idée de verifier l'extention du fichier, mais j'ai 2 questions :
si quelqu'un utilise une double extension, comment faire ?
c'est quoi le header ?

j'ai modifié un fichier image avec notpad++, je lui ai injécté ce code :
Code :
<script>alert('Je suis');</script>
j'ai utilisé la fonction finfo_file(), il ma dis "image/jpeg" O_o, donc il ne detecte pas le code !!!
je pense que la solution est de lire le fichier sans l'executer
et avec des regex enlever les caracteres ou mot du genre <?php ou <? et ?> et supprimer ce qu'il y a entre eux, est d'enregistrer la nouvelle image désinféctée

j'ai éssayé avec la bibliotheque GD, de retrécir l'image et j'ai oubtenu l'erreur que le fichier est corompu O_o pourtant elle s'affiche bien dans le navigateur

Citation :c'est un peu comme si quelqu'un te disait "j'ai appris récemment qu'on pouvait se faire aggresser dans le métro, j'aimerais savoir comment éviter ça ?"
mdrrrr, vous avez raison, je n'ai pas été clair et je m'en excuse, mais je ny connais rien a cette attaque c'est pour ça que je n'ai pas été clair
merci bcp a tous c'est tres sympa de votre pare
+1 (0) -1 (0) Répondre
13-01-2015, 21h38
Message : #9
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: injection de code malicieux sur des fichiers images
(13-01-2015, 21h12)wass19 a écrit :
Citation :la meilleure solution va etre de verifier les extensions du fichier
la je suis d'accord avec vous c'est une exelente idée de verifier l'extention du fichier

non ça n'est pas une bonne idée justement, même sans parler de double extension tu l'as vu toi même suffit d'un fichier toto.jpg qui contient uniquement du php pour qu'on soit déjà en dehors des clous, la seule méthode valable pour checker le type du fichier c'est de checker son contenu


Citation :j'ai modifié un fichier image avec notpad++, je lui ai injécté ce code :
Code :
<script>alert('Je suis');</script>
j'ai utilisé la fonction finfo_file(), il ma dis "image/jpeg" O_o, donc il ne detecte pas le code !!!

bien vu, et au temps pour moi Smile la fonction finfo_file() semble se baser sur le champ Content-type: de la requête http, lui même spoofable, donc on ne peut pas faire confiance à l'info que ça nous donne
je vais faire quelques tests de mon côté pour voir et éviter de te dire des conneries ;p

cela dit tu peux toujours essayer de convertir le fichier, si ça marche c'est que c’était bien une image (sinon pas), et au moins t'es à peu près sûr que s'il y avait des données foireuses dans l'image après conversion elles sont partis
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (0) -1 (1) Répondre
13-01-2015, 21h58 (Modification du message : 13-01-2015, 21h59 par wass19.)
Message : #10
wass19 Hors ligne
Newbie
*



Messages : 18
Sujets : 6
Points: -5
Inscription : Jan 2015
RE: injection de code malicieux sur des fichiers images
merci gruik
oui c'est une methode qui me semble tres biable Smile
euh c koi spoofable ??
désolé je suis nouveau et je ne connais pas tres bien ces mots O_o :$
+1 (0) -1 (0) Répondre
13-01-2015, 22h12
Message : #11
supersnail Hors ligne
Éleveur d'ornithorynques
*******



Messages : 1,609
Sujets : 71
Points: 465
Inscription : Jan 2012
RE: injection de code malicieux sur des fichiers images
spoofable = falsifiable Wink (un mot à rajouter dans ton dictionnaire de jargon informatique/sécurité parce qu'on l'utilise souvent celui-là :þ)

Sinon essaie d'éviter le "style" SMS pour m'épargner une cécité précoce :'(
Mon blog

Code :
push esp ; dec eax ; inc ebp ; and [edi+0x41],al ; dec ebp ; inc ebp

"VIM est merveilleux" © supersnail
+1 (2) -1 (0) Répondre
13-01-2015, 22h16
Message : #12
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: injection de code malicieux sur des fichiers images
non ben en fait rectification, ça se base pas sur le content-type :
Code BASH :
$ file *.png
faux.png: HTML document, ASCII text
vrai.png: PNG image data, 12 x 12, 4-bit colormap, non-interlaced

Code PHP :
<?php
$finfo = finfo_open(FILEINFO_MIME_TYPE);
print "vrai.png : ". finfo_file($finfo, "vrai.png") ."\n";
print "faux.png : ". finfo_file($finfo, "faux.png") ."\n";
?>

Code BASH :
$ php pouet.php
vrai.png : image/png
faux.png : text/html
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (1) -1 (1) Répondre
13-01-2015, 22h51
Message : #13
wass19 Hors ligne
Newbie
*



Messages : 18
Sujets : 6
Points: -5
Inscription : Jan 2015
RE: injection de code malicieux sur des fichiers images
resalut
désolé à l'avenir j'arrete d'ecrire en sms
gruik encore une question, que ce qu'il y a dans le fichier faux.png (est ce que vous avez mis un script au milieu comme je l'ai mis avant), ou autre chose ?
merci
+1 (0) -1 (0) Répondre
13-01-2015, 23h21
Message : #14
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: injection de code malicieux sur des fichiers images
dans faux.png j'ai mis la même chose que toi c'est à dire <script>alert('Je suis');</script>

j'ai également fait d'autres tests, en créant des images png et jpg règlo et en mettant des commentaires à l'intérieur
ensuite j'ai essayé de convertir les images, d'abord de png -> gif -> png, puis directement png -> png avec l'aide des fonctions imagepng() et imagecreatefrom...(), à chaque fois l'image générée ne contient plus le commentaire, donc on est bon

une solution simple consisterait donc en un truc du genre :
Code PHP :
if ($buff = imagecreatefromstring(file_get_contents($uploaded_file))) {
    imagepng($buff, $destination_file);  // donc ici on publie le fichier definitivement
    unlink($uploaded_file) // et on oublie pas d'effacer le fichier temporaire evidement
}


si imagecreatefromstring() échoue c'est que le fichier n'était pas une image, et si c'est bien un fichier image on le convertit en png systématiquement, on se préoccupe même plus de checker le type du fichier c'est imagecreatefromstring() qui s'en charge

il s'agit pas cela dit de récupérer le code tel quel, mais plutôt de comprendre les principes et les pièges auxquels on essaye d'échapper, par ailleurs je suis pas du tout programmeur en php perso...
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (1) -1 (1) Répondre
14-01-2015, 00h13
Message : #15
wass19 Hors ligne
Newbie
*



Messages : 18
Sujets : 6
Points: -5
Inscription : Jan 2015
RE: injection de code malicieux sur des fichiers images
merci bcp gruik Smile
+1 (0) -1 (0) Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut