![]() |
[Tuto]Faille CRLF - Version imprimable +- N-PN White-Hat Project (https://dev.n-pn.fr/forum) +-- Forum : Tutoriels (https://dev.n-pn.fr/forum/forumdisplay.php?fid=15) +--- Forum : [Tutoriel] Hacking (https://dev.n-pn.fr/forum/forumdisplay.php?fid=43) +--- Sujet : [Tuto]Faille CRLF (/showthread.php?tid=2814) Pages :
1
2
|
[Tuto]Faille CRLF - OverDreams - 17-03-2013 Bonjour à tous, Je vais vous expliquer comment exploiter et comment sécurisé la faille CRFL. CRLF What is it ? o_O Wikipedia a écrit :Cette faille peu connue permet d'insérer un retour à la ligne dans un champ input et nous permet ainsi d'injecter des headers non attendus qui seront pris en compte dans le traitement du formulaire si les données entrées ne sont pas vérifiées. Chapitre 1 : Pour l'exploitation Tout d'abord, il y a deux techniques différentes pour exploiter une faille CRLF La première technique est pour les serveurs un peu moins sécurisés ou il faudra modifier la requête grace à tamper data et la seconde consiste à modifier le code source grâce à firebug. Aller, commençons pour les deux techniques je vais faire l'exemple pour un script qui envoie un mail pour la récupération du mot de passe. Première technique : Pour cette technique, vous aurez besoin de Tamper Data (si vous ne l'avez pas vous pouvez vous le procurer ici : https://addons.mozilla.org/en-us/firefox/addon/tamper-data/ ) Tamper data va nous servir à modifier la requête pour faire de sorte qu'un autre champ destinataire soit ajouté et que vous puissiez rajouter votre email en tant que destinataire. Voici la page cible : ![]() Tout d'abord, lancez Tamper data pour cela allez dans "Tools" => "Altérer données" Vous devez avoir ceci : ![]() Maintenant il vous suffit de cliquer sur "Démarrer Altération" Ensuite, il vous suffit de mettre l'adresse de votre cible. Dans mon cas, je mets "Tuto_OverDreams@hotmail.fr" une fois que vous avez appuyé sur la touche Entrée normalement une fenêtre qui vous demande si vous voulez altérer la requête décocher "Continuer Altération" sinon vvous allez avoir plein de fenêtres qui vont vous gêner et ensuite cliquez sur "Altérer" Maintenant normalement vous devez avoir quelque chose comme ça : ![]() il vous faut modifier la valeur de from, bien sûr, il ne suffit pas de la modifier seulement en remplaçant par votre email, mais il faut rajouter un champ pour rajouter un destinataire pour cela il faut mettre "%0ACc: Votre_Email" Mais qu'est-ce que ça veut dire ? 0A c'est le code en hexa qui permet de sauter une ligne ,Cc ça signifie q'une copie conforme doit être envoyée à l'adresse que vous avez mis Voilà pour la première technique j'espère que vous avez compris. Si un point vous semble sombre n'hésitez pas à me MP ![]() Deuxième Technique : Pour cette deuxième technique, vous aurez donc besoin de firebug (si vous ne l'avez pas vous pouvez vous le procurer ici : https://addons.mozilla.org/en-US/firefox/addon/firebug/ ) firebug va nous servir à modifier le code source ou si vous êtes sur google chrome ou chromium pas besoin il a déjà une sorte de firebug installer Tout d'abord, lancer firebug vous devez repérer le bout de code à modifier (l'input) Dans notre cas c'est ici : ![]() Alors, maintenant faite un clic droit sur le premier input ( <input type="text" name="from" value="E-mail">) et vous devez transformer l'input en textarea comme ceci : "<textarea name="from" value="E-mail"></textarea>" une fois que c'est fait vous devez avoir quelques choses comme ça : ![]() J'ai volontairement agrandit le textarea pour que vous puissiez bien le voir, maintenant on fait comme la première technique avec "%0ACc : votre_email", mais vous le placez dans le textarea personnellement, cela fait : "Tuto_OverDreams@hotmail.fr%0ACc: Hakeur@yopmail.com" vous devez avoir ceci : ![]() Maintenant il ne vous reste plus qu'à cliquer sur l'autre input et allez vérifier vos mail ![]() Chapitre 2 : Sécurisez Pour sécuriser une faille CRLF vous pouvez supprimer les retours à la ligne Voici la technique qui consiste à remplacer toutes les whitespace de la chaîne de recherche par la chaîne de remplacement ( Merci à Khaled pour le code ![]() Code PHP :
P.S : Soyez indulgent c'est mon premier tutoriel et désolé pour les fautes d'orthographes & Merci à Khaled ![]() ![]() Voilà. Cordialement, OverDreams. RE: [Tuto]Faille CRLF - InstinctHack - 17-03-2013 Bon tuto quelques remarques cependant : Tu n'explique pas vraiment c'est quoi la faille, (qui n'as pas exploitation que la fonction mail à ma connaisances) Elle vient tout simplement de la présence d'un caractère (whitespace dans ce cas-là) avec un sens particulier, mais pas tous le temps... ce caractère présent dans un commentaire de blog feras un simple retour à la ligne grace (la plupart du temps) par son remplacement par une balise <br /> avec l'utilisation de la fonction php nl2br par exemple. La, on parle d'injection d'headers dans l'envoi d'un mail, si vous n'avez pas de formulaire d'envoi de mail, cette "faille" n'existe pas. une faute : Citation :sauter une ligne dans la table ASII pour la sécurité la deuxième fonction est degeu et supprimeras des caractères en faisant du racisme anglophone ![]() Code PHP :
voilà ![]() RE: [Tuto]Faille CRLF - OverDreams - 17-03-2013 Dac merci je vais corriger ça ![]() V'la j'ai changez quelques trucs et modifier certaine faute :> RE: [Tuto]Faille CRLF - InstinctHack - 20-03-2013 mh... vraiment la deuxième technique je suis absolument pas fan pour deux raison : ça n'accepte pas les caractères spéciaux, et les data en utf-8 avec les fonction non prévus pour les caractère multi-octets seront également supprimé ![]() Mais sinon le tuto est bien ![]() ![]() RE: [Tuto]Faille CRLF - OverDreams - 20-03-2013 Voilà ![]() RE: [Tuto]Faille CRLF - Swissky - 20-03-2013 Coquilles et fautes : pour cela il faut QUE mettre "%0ACc: Votre_Email" Mais qu'est-ce que ça veut dire ? => Tu as un mot en trop ![]() comment sécurisé la faille CRFL. =>sécuriser Aller => Allez. vous allez avoir plein de fenêtre qui vont vous gêner et ensuite cliquer sur "Altérer" => vous allez avoir plein de fenêtres qui vont vous gêner et ensuite cliquez sur "Altérer" une copie conforme doit être envoyé => une copie conforme doit être envoyée vous devez avoir quelques choses comme ça => vous devez avoir quelque chose comme ça vous le placez dans le textarea personnellement, cela fait : => vous le placez dans le textarea , dans notre cas/pour cet exemple, cela fait Je ne suis pas sûr que le mot "personnellement" soit vraiment adapté pour cette situation ? Chapitre 2 : Sécurisez la faille Pour sécuriser => Je crois que ta mise en page a buggée ici. J'espère ne pas en avoir oubliées, cela t'aidera probablement à avoir un beau tutoriel. Merci pour le tutoriel très bien expliqué, et bien imagé (aux couleurs du forum ^^). RE: [Tuto]Faille CRLF - OverDreams - 20-03-2013 Merci je vais corriger xD RE: [Tuto]Faille CRLF - Polo - 20-03-2013 Connaissait pas cette faille... C'est bon à savoir ; bon tuto ![]() RE: [Tuto]Faille CRLF - OverDreams - 21-03-2013 Merci ![]() RE: [Tuto]Faille CRLF - MLT - 22-03-2013 Elle est beaucoup présentes cette faille ou c'était d'actualité il y a 20 ans ? RE: [Tuto]Faille CRLF - Luxerails - 22-03-2013 C'est pas un problème de temps. La faille peut exister n'importe quand, c'est le code qui est faillible. RE: [Tuto]Faille CRLF - OverDreams - 22-03-2013 Exacte suffit d'une petite erreur du webmaster RE: [Tuto]Faille CRLF - Shirobi - 22-03-2013 Très bien expliqué, rien a dire! RE: [Tuto]Faille CRLF - OverDreams - 22-03-2013 Merci :p RE: [Tuto]Faille CRLF - rpz - 18-06-2013 Salut, super tuto. Par contre si je peux me permettre, il vaut mieux utiliser Cci et non Cc sans quoi le destinataire original verra que la copie a été envoyée à une tierce personne : "%0ACci: Votre_Email" |