Visualizzazione dei risultati da 1 a 6 su 6

Discussione: sql injection (prove)

  1. #1

    sql injection (prove)

    Ciao ragazzi mi sto un po' allenando con un sql injection con un sito creato da un mio amico per far pratica, però mi sto bloccando su questo:

    Le informazioni sono passate in GET e quindi sono visibili nel url, ora il sito si presenta in questo modo:

    .php?id=1 --> Ho visto aggiungendo un apice (') che il codice non è protetto, poichè il server automaticamente mi risponde con questa stringa:

    query: SELECT * FROM ciao WHERE id = ''' LIMIT 0, 1 ;

    Così facendo ho anche capito che non si tratta di un blind sql injection.

    Così volendo stampare a video i nomi delle tabelle presenti nel database ho dato questo comando:

    'UNION SELECT TABLE_NAME FROM information_schema.tables WHERE '1' = '1

    e il sito mi risponde in questo modo:

    query: SELECT * FROM ciao WHERE id = ''UNION SELECT TABLE_NAME FROM information_schema.tables WHERE '1' = '1' LIMIT 0, 1 ;

    Così ho cominciato ad aumentare nella mia "UNION" in modo progressivo sempre di più le mie colonne prese in considerazione, fino a che... nulla sempre il solito errore...

    Il sito di prova può essere violato con questo tipo di attacco e allora perchè non riesco? cosa c'è che non va nei miei passaggi?




  2. #2
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Le query le hai provate con phpMyAdmin ? Funzionano ?
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    la prima cosa necessaria è che la query non contenga errori di sintassi (vedi post di badaze) quindi la parte di codice che inserisci deve "ben" integrarsi, il codice che hai scritto non si integra

    la seconda cosa, la query risultante deve avere anche una logica compiuta, "union" permette la selezione di "identico" formato in due tabelle differenti, mi sembra che stai usando "union" in modo non appropriato
    ciao

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Infatti avevo già risposto ad un thread simile.

    http://forum.html.it/forum/showthread.php?threadid=2926887
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Quote Originariamente inviata da marino51 Visualizza il messaggio
    la prima cosa necessaria è che la query non contenga errori di sintassi (vedi post di badaze) quindi la parte di codice che inserisci deve "ben" integrarsi, il codice che hai scritto non si integra

    la seconda cosa, la query risultante deve avere anche una logica compiuta, "union" permette la selezione di "identico" formato in due tabelle differenti, mi sembra che stai usando "union" in modo non appropriato
    ciao
    Sinceramente ho provato a scrivere una parte di codice usando direttamente UNION e il formato delle colonne (varchar,int, ecc..) potevano anche stare insieme senza creare nessun errore, mentre quello che doveva essere uguale era il numero di colonne...
    Ma anche aumentandolo sempre l'errore mi viene fuori, la query dovrebbe essere completa e corretta se non sbaglio, non posso provarla con phpmyadmin semplicemente perchè mi ha messo il sito a disposizione e non ho l'accesso al database

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2014
    Messaggi
    539
    query: SELECT * FROM ciao WHERE id = ''UNION SELECT TABLE_NAME FROM information_schema.tables WHERE '1' = '1' LIMIT 0, 1 ;
    la sintassi è decisamente sbagliata

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.