Entrez vos identifiants

x
OU
Vous avez oublié votre mot de passe ?
Utilisateur wiki : vous n'aviez pas d'email ?

Korben - Site d'actualité geek et tech

Go Top


HTExploit – Exploiter les fichiers contenus dans un répertoire protégé par un .htaccess

HTExploit – Exploiter les fichiers contenus dans un répertoire protégé par un .htaccess

Lors de la Black Hat, il y a 2 semaines, les Argentins Matías Katz & Maximiliano Soler ont présenté un outil open source baptisé HTExploit, écrit en python et capable d'exploiter une faiblesse dans la méthode utilisée par les fichiers .htaccess pour protéger un répertoire avec un processus d'authentification. Grâce à cet outil, il devient possible très facilement de bypasser l'authentification et de tester des SQLi (SQL injection), LFI (Local File Inclusion) ou encore RFI (Remote File Inclusion) sur les fichiers présents dans le répertoire protégé.

Bon boulot !

L'outil et les infos sont disponibles sur le site.


Facebook Twitter Email Copier Url

47 Responses to “HTExploit – Exploiter les fichiers contenus dans un répertoire protégé par un .htaccess”

  1. Dommage qu’ils n’expliquent pas, même brièvement, comment fonctionne leur script ou comment ils arrivent à passer cette protection.

  2. 0y0 dit :

    Je pense qu’ils utilisent cette vulnérabilité pour bypasser le htaccess 
    http://www.john-jean.com/blog/securite-informatique/faille-dans-la-creation-dun-htaccess-89 Et que si derrière le directory listing est désactivé ils font du dico pour trouver les fichiers et tenter les sqli et compagnie. Ils semblent aussi faire de l’attaque par dico sur l’auth si l’évasion par HEAD ne fonctionne pas.

  3. Arigonboard dit :

    En regardant le code source, il semble que l’identification n’est effective que pour certaines methodes http (GET, POST…) mais avec des méthodes qui n’existe pas, l’identification ne fonctionne pas.

    Après c’est assez lite et dépend de la config et du serveur… 

  4. Chinois du FBI dit :

    Marrant ça. Si ces cerveaux passaient plus de temps à créer des richesses (par exemple en proposant des rustines à Apache HTTP Server) qu’à en casser, la situation ne serait pas ce qu’elel est.
    Bref, casser pour casser, c’est débile.

  5. NmLs dit :

    Ben p’tetre qu’avant de proposer des rustines il faut bien tester ce qu’il y aurait à colmater non ?

  6. grogeek dit :

     Pour proposer une rustine comme tu dis, il faut savoir qu’il y a un trou !
    Et comment tu sais qu’il y a un trou ?? Des gars l’ont découvert en ……… (a remplir)

  7. Jerome dit :

    Merci pour la précision, je me demandais justement ce qui permettait cet exploit.

    Korben, ça vaudrait peut-être le coup de l’expliquer brièvement dans l’article puisque même les auteurs de l’outil ne le font pas ?

  8. Sid dit :

    Ça date d’au moins 1997, rustine comprise…

  9. grogeek dit :

     rustine pour leur exploit sur le htaccess ??

  10. Ooo dit :

    j’ai fait un test -detect sur korben.info est ça donne:

    [+] http://korben.info seems exploitable. Enjoy :)

    Attention Tonton!!!! Heads up!

  11. Sid dit :

    @331a7f4f1f9aa83a0af2ae20a91ee266:disqus : oui.HTExploit exploite une mauvaise utilisation de Limit qui est connue depuis 1997, ainsi que le moyen de s’en prémunier (ne pas copier/coller de confs toute faites sur commentcamarche, ne pas utiliser Limit).
    Cf. http://www.apacheweek.com/issues/97-09-05#configerrors (5th September 1997)

  12. Sieur Fapman dit :

    C’est très simple. Apache a conçu pour la config. Ca permet de restreindre la configuration à seulement certaines méthodes (GET, POST, HEAD, PUT ou n’importe quelle méthode non standard). Le problème, c’est que des idiots ont cru bien de configurer une authentification Apache dans un . Grave erreur car il suffit d’utiliser une autre méthode. Et 95% des guignols qui ont la fainéantise de lire la doc recopie cette idiotie. Ca n’a donc rien d’une faille de sécurité.

  13. Sieur Fapman dit :

    Ou plutôt, ce n’est pas une faille logicielle.

  14. Sieur Fapman dit :

     http://www.segmentationfault.fr/securite-informatique/contourner-htaccess-limit-get-post/

    Illustre bien le sujet…

  15. Chinois du FBI dit :

    Exploiter une faille est une chose. Découvrir une faille, en faire part sur le bugtracking du développeur puis proposer un patch en est uen autre. C’tout.

    M’enfin bon, parait-il qu’il ne sagit pas d’une faille mais d’un défaut de config. Mais vous devriez comprendre la différence entre celui qui casse (ou plutôt essaie de casser) et celui qui contribue.

  16. Chinois du FBI dit :

    Mais as-tu vraiment essayé ?
    Trop facile de dire “ça devrait marcher” ;)

  17. grogeek dit :

     @84f2e69041d3a198f3951bcb554f01fc:disqus
      Ok, merci pour l’info.

    De tte façon, mon hébergeur ne me laisse pas accès à ces réglages sur mon hébergement virtualisé.

  18. Chinois du FBI dit :

    Ce n’est pas être un guignol que de faire une erreur de config.
    La plupart des logiciels de a fondation Apache ont le défaut d’être des salles de torture lorsqu’il faut aller taper dans la config.
    Peut être que si un effort était fait sur la doc, les choses ne seraient pas ce qu’elles sont.
    C’est un mélange de défaut de conception (générer une telle faille aussi facilement tient du défaut de conception, faudrait pas permettre ça, du moins pas aussi facilement) et de complexité de la doc (ce n’est pas un soucis de taille vu qu’elle est énorme, mais justement, on ne s’y retrouve pas).

  19. John dit :

    Limiter une directive à GET/POST c’est surtout être idiot et méconnaître HTTP.

  20. Johny dit :

    Testé en vidéo jusqu’au bout, et ça marche pas ;)

  21. Johny dit :

    Le problème réside dans le fait que la fonction “limit” ne limite qu’un type de requète, par exemple et dans le cas de la faille, le “GET”.

    Or, quand il reçoit une requête erronée, il réagit comme si c’était un get ! Si bien que la fonction “limit get” ne fonctionne pas vu que ce n’est pas un “get” qui lui a été demandé, avec comme résultat de répondre à la requête, même si le fichier n’est pas supposé être accessible par un get =/

    A notter que la “faille” qui réside dans le fait qu’une requête incomprise = un “get” marche uniquement pour les “get”, donc heureusement pas moyen de faire pareil avec un “post”.

    Un petit tutoriel en vidéo sur comment utiliser l’outil et en prime un test sur korben.info disponible ici : http://www.youtube.com/watch?v=9RO8hiHjufU

  22. Johny dit :

    “Le problème réside dans le fait que la fonction “limit” ne limite qu’un type de requète”. 

    Je me suis mal exprimé : Dans certains cas, les webmasters ne limitent que le “get”, et c’est là ou la faille peut être utilisée en envoyant une requête erronée de manière à recevoir le résultat d’un “get”, sans pour autant qu’il soit reconnu comme tel. ;)

  23. Chinois du FBI dit :

    C’est un comportement typique des jeunes d’aujourd’hui (et des vieux cons).
    Si tu ne connais pas très bien un sujet, si tu fais une petite erreur, PAF, tu n’es qu’un incompétent, un idiot, bon pour se recycler en technicien de surface.
    Je suppose que tu es quelqu’un de parfait, maîtrisant chacune des technologies que tu emploies ? Un vrai crack, un no-life ? ;)

    Un peu de respect pour ton prochain, ça ne fait pas de mal. Merci.

  24. John dit :

    http://httpd.apache.org/docs/current/fr/howto/htaccess.html Je ne vois pas en quoi la doc est complexe au passage.

  25. DeDe62 dit :

    Voilà Korben http://www.mac.com/ est down , tu as révélé leur faille ^^

  26. Ganapati dit :

    C’est un soucis de configuration très connu et vieux comme le monde.
    Que des mecs se contentes de mettre “POTATO” en header a la place de GET ou POST (ref : source python de HTExploit) et tiennent 20 minutes de conf au black hat est aberrant !

  27. Dz0rg dit :

    Pour faire le test, j’ai protegé un repertoire du get avec l’instruction après quoi j’ai lancé la commande “JOHN http://$URL/$REP/index.php HTTP/1.0″.

    Résultat ca ne renvoie pas le contenu de la page ni un 403 mais une erreur 400 (Bad Request), je suppose que l’astuce n’est plus d’actualité.

  28. Ooo dit :

    non je n’avais pas été jusqu’au bout mais en générale ce genre de programmes dispose d’un mode d’analyse qui leur permet d’évaluer la probabilité d’aboutissement d’une attaque. Et j’ai essayé sur d’autres sites et ça répondait tout de suite que ça ne fonctionnerait pas.

  29. Sid dit :

    Il me semble qu’Apache interprète les méthodes qu’il ne connaît pas comme des GET. Du coup, pour que ça passe, il faut une méthode valide autre que GET ou POST.

  30. bast dit :

    Sous Archlinux il faut editer le htexploit et mettre “2” collé à la fin de la toute première ligne, ” #!/usr/bin/python “. Sinon il essaye d’utiliser python3 et c’est la cata. =)

  31. Michael Barchy dit :

    J’ai essayé sur 2 de mes sites où j’utilise parfois (“honte à moi”) ce type d’authentification
    et finalement HTExploit n’a rien trouvé.

  32. Lol dit :

    Cette faille est archiconnue et surtout archivieille.

    Etonnant qu’ils aient pu faire un talk à la BH.

  33. Sieur Fapman dit :

    Il ne faut pas faire amalgame entre doc complexe et doc détaillée. La doc d’Apache entre dans le second cas. Et les devs d’Apache indiquent clairement dans la doc qu’il est vivement déconseillé d’utiliser LIMIT sur de la config sensible.

  34. Sieur Fapman dit :

     Mais ce qui est particulièrement hallucinant, c’est qu’il aura fallu d’un exemple et cette configuration se répands comme une trainée de poudre…

  35. Dacrovinunghi dit :

    Je suis 100% ok avec toi (en plus je suis ni vieux ni jeune bien au contraire)
    quelques développeurs, ou des amateurs érudits croient maitriser la dev ou l’administration système et n’ont même pas les bases.

  36. John dit :

    Je suis parfaitement d’accord avec toi, c’est ce qui m’a immédiatement frappé.

  37. Impa dit :

    Comment lancer le script sur Windows avec Python pour que j’essai. 
    Rien a faire je n’arrive pas a lancer le script en MS-DOS ou directement avec Python ? 
    Merci 

  38. Ben dit :

     Si déjà tu ne sais pas lancer un script, t’es pas mal barre pour comprendre le reste…

  39. freko28 dit :

     Au départ cette “vuln” été exploité couplé à une deuxieme vuln sur apache : les methode inconnu été interprété comme des GET sans etre filtré

  40. Nassim dit :

    Cette technique est connue depuis très longtemps, j’en parle d’ailleurs sur mon blog dans un billet qui date au moins de 2 ans.
    De plus, il faut savoir que apache par défaut n’accepte pas d’autres requêtes que celles des méthodes connues du protocole HTTP (GET, POST,…etc.). C’est en fait le module PHP (encore lui) qui cause l’interprétation d’Apache des requêtes “mal-formées”. D’ailleurs, avec un Apache bien configuré ce genre de requêtes génèrent une erreur. 

  41. Ooo dit :

    je ne comprends pas. Les requêtes ne passent-elles pas d’abord par Apache qui ensuite les dispatche (le cas échéant) au module PHP. Pourrais-tu expliquer un peu ? et peux-tu donner l’adresse de ton blog :) Merci

  42. Nassim dit :

    Bonjour, 
    Voici l’adresse du billet de mon blog, datant de 2009 et qui traite de la même faille : http://www.blueicefield.com/2009/05/12/securite-faille-des-htaccess/

    Visiblement Apache passe systématiquement les requêtes au module PHP et PHP lui par défaut interprète les requêtes inconnues comme des GET.

  43. Ooo dit :

    merci pour le lien, 

    Ah donc tu veux dire que toute les requêtes vers des ressources .php sont systématiquement envoyées au module php, je comprends mieux maintenant, j’avais cru toutes les requêtes html/css/image/etc. je trouvais ça bizarre ;)

  44. Visiteur dit :

    Il suffit d’installer python sous windows et ensuite exécuter le script depuis la console python. Rien de compliqué à faire ou à comprendre mais apparemment ne compte pas sur gens d’ici pour t’aider puisque certains sont nés avec la science infuse…

  45. Visiteur dit :

    La Black hat, c’est un rendez-vous de script kiddies, donc par définition, ils ne connaissent pas les failles et suivent bêtement ce qu’on leur dit.

  46. Olivier dit :

    C’est bien de critiquer PHP… mais c’est quoi le rapport entre PHP et une authentification dans Apache avec un .htaccess ? Je n’en vois aucun.

  47. Nassim Kacha dit :

    Il faut prendre le temps de comprendre le fonctionnement de cette “faille” si on peut l’appeler ainsi.

    C’est le module PHP qui fait que les méthodes invalides sont interprétées par défaut comme des méthodes GET. C’est ce mécanisme qui est exploité dans “cette faille” .htaccess.

    Sinon, y’a qu’à voir leur mailing list pour s’en faire un avis… en sécu, ils sont les rois du bricolage. il y a encore pas si longtemps on a eu le droit à un  “colmatage” pour les DoS via hash collision, là où les autres langages ont appliqués un vrai correctif : Perl (qui lui avait réglé le pb y’a bien des années), Ruby, Python…Etc.

A gagner – Des codes abonnement pour F-Secure Key

bigstock

Aujourd'hui je vous propose de gagner des codes pour des abonnements d'un an pour Key, le gestionnaire de mot de passe de F-Secure.

Si vous êtes adeptes des ouvertures de comptes en ligne à tout-va, ce petit soft peut vous être d'une grande utilité, voir pour ceux qui décideraient de renforcer tous leurs mots de passe en cours d'utilisation.

Avec Key vous pouvez stocker tous vos mots de passe et y accéder facilement, sur n'importe quel appareils, desktop ou mobile et même générer des mots de passe renforcés et uniques chaque fois que vous en avez besoin.

Pratique pour ceux qui ont tendance à aller au plus vite en mettant la date de naissance du dernier né ;)

Pour jouer ça se passe tranquillou avec Kontest:

Toutes les fonctionnalités de Key sont listées ici

Vous avez aimé cet article ? Alors partagez-le avec vos amis en cliquant sur les boutons ci-dessous :

Twitter Facebook Google Plus Linkedin email
Rejoignez les 57008 korbenautes
et réveillez le bidouilleur qui est en vous
abonnez-vous en savoir plus
"Vous aimez bidouiller ?" Oui j'adore l'informatique et la technologie
Suivez Korben Un jour ça vous sauvera la vie.. Ou celle d'un(e) ami(e)
  • Rejoignez les 57008 bidouilleurs de la grande famille des Korbenautes
    «Je considère que votre email est aussi important que le mien.»
    Korben
  • Les Derniers Articles du Blog

  • Inscrivez vous aux bon plans

  •  
  • Site hébergé par
    Agarik Sponsor Korben
  • DANS TON CHAT (BASHFR)

    Gaëlle : C'est quoi ta manière de draguer ?
    Batho : la séquestration

    -- http://danstonchat.com/9070.html
  • Un boitier externe pour booter des ISO à

    gogo sans se prendre la tête

    Il s'agit d'un boitier externe pour disque dur 2,5" fabriqué par la société Zalman, qui a la particularité d'avoir un petit écran de contrôle et qui permet de choisir l'ISO sur laquelle vous souhaitez booter...lire la suite

    Microsoft récupère vos clés de chiffrement.

    Voici comment les en empêcher

    Si vous avez acheté un appareil sous Windows 10 équipé d'une puce qui chiffre par défaut le disque, ne vous pensez pas en sécurité pour autant : La clé de récupération qui vous permet de déchiffrer vos données...lire la suite

    En ce moment dans l'univers "Raspberry Pi"

    Voir tous les articles »