Jeg er da nået så langt, som at få udskrevet de felter, hvor jeg har gættet navnene. Men jeg kan sgu ikke gætte navnet på det felt som er rigtig spændende :)
Ok, det lyder skummelt. Men du behøver jo egentlig heller ikke navnene, hvis du udskriver med: $row[0,1,2,3,...osv] Du må jo kunne bruge noget LEFT JOIN eller lign.
Ok, Jeg ved ikke om MySQL har automatisk konvertering til tekst, men de fleste DBMS'er har. Så prøv dette.
select '1','2','3','4' from tabel1 where 1=2 union select * from tabel2
det vil udvælge nul rækker fra tabel1 (1=2 ok?) og sige at hver kolonne skal fortolkes som tekst, anden select udvælger så samtlige kolonner fra tabel2
Du kan så udvide med 5,6,7 etc indtil du får at vide at der ikke er flere kolonner - og så burde du få data fra tabel2 leveret.
Ok, jeg begynder at tro, det kræver bruteforce at finde kolonnenavne, men måske...
Du kender antallet af kolonner i første tabel. Du indsætter så konstanter for kolonnerne i tabel2 - det burde fungere. fx 5 kolonner fra tabel1 giver følgende kolonner fra tabel2
select * from tabel1 where 1=2 union select 'x','y','x','y','x' from tabel2
Nu burde du få antal rækker ud fra tabel2.
Hvis MySQL understøtter kolonne-placeholders fx brugen af et 1-tal for første kolonne, så kan du så udtrække den vha placeholderen.
Ellers - den er farlig hvis der er mange data, men... Kan du ikke lave det kartetiske produkt af de to tabeller (en CROSS JOIN) ?
select * from tabel1, tabel2
Det vil give dig en r*vfuld af rækker ud - indholdet af de to tabeller ganget med hinanden - men vil give kolonnenavnene for tabel2...
Sidste ide - har du adgang til MySQL databasen på filniveau? Hvis så, så burde du kunne åbne database-filerne i en hex-editor (eller for den sags skyld i VI / Notepad) og få fundet kolonnenavnene ad den vej...
squashguy> "Eksperten : Generelt : Omgå betaling på Eksperten, og bliv gratis Pro Artikel Omgå betaling på Eksperten, og bliv gratis Pro Bruger squashguy Kategori Eksperten : Generelt Pris 0 point
Nej, den er bare deaktiveret. Det var egentlig bare en lidt for sjov artikel, hvor jeg beskriver hvordan det gøres ved at tjene mange point.. :) Det er den samme som på ebruger.dk
Dette spørgsmål gik på en bug jeg fandt på beta-udgaven af Eksperten.
Jeg er da nået så langt, som at få udskrevet de felter, hvor jeg har gættet navnene. Men jeg kan sgu ikke gætte navnet på det felt som er rigtig spændende :) "
Navnene på de to felter var namme at gætte: username, password
Og så var det bare at smide ind:
select * from tabel1 where id=0 union select `username`,`password` from users
problemet var, at password lå som md5. Ikke det helt store problem med lidt brute forcing. Men det felt jeg var ude efter (hvis det overhovedet ligger i denne tabel), ville give mig adgang fri adgang, uden at kende passwordet.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.