Tecniche Hacker, SQL INJECTION Exploit, guadagnare l’accesso non autorizzato!

Oggi parliamo di una tecnica usata dagli Hacker e purtroppo anche da “pirati” la SQL INJECTION, altro non è che un’iniezione di codice in un database MySQL, tramite un attacco di questo tipo, ovvero con stringhe ben congeniate è facilissimo avere l’accesso non autorizzato con pieni poteri Admin su un’applicazione web.

Prendiamo ad esempio una qualsiasi pagina di login, se nel campo “userid” si immette il valore Admin e nel campo “password il valore passprova, la nostra query SQL sarà:


SELECT * tabella_utenti

WHERE userid = 'Admin'
AND password = 'passprova'


Questo codice è esatto ma non offre la sicurezza necessaria, proviamo a inserire una stringa ben strutturata, stiamo attenti alla posizione degl’apici, ad esempio nel campo “password” andiamo ad inserire:

1' or '1' = '1

la query risultante è la seguente:

SELECT * FROM tabella_utenti
WHERE userid = 'Admin'
AND password = '1' OR '1' = '1'

E’ facile notare cosa è successo, la query SQL grazie all’operatore OR imporrà ‘1’ = ‘1’, dato che l’uguaglianza si è verificata ecco che abbiamo l’accesso al pannello amministrativo dell’applicazione web senza conoscere userid e password.

31 Responses to “Tecniche Hacker, SQL INJECTION Exploit, guadagnare l’accesso non autorizzato!”


  1. 1 Paso 7, ottobre, 2007 alle 10:37 am

    Ho fatto un piccolo esame all’uni su questi argomenti. Sono davvero interessanti.
    Un’alternativa potrebbe essere:
    userid = Admin’; —
    e lasciamo vuoto il campo password. I due — trasformano in commento la riga della password. Come sempre, se il sistema è ben progettato (usando l’escaping dei caratteri) queste tecniche non funzionano!🙂

    Ciao

  2. 2 underground0 7, ottobre, 2007 alle 3:01 pm

    Esatto Paso, ciò non toglie che se la pagina di login non è buggata, posso andare a pescare i dati in un altra pagina, infatti il prossimo articolo sarà sulla BLIND SQL INJECTION😉

    Oppure altra possibile SQL: 1′ or ‘TRUE-

  3. 3 nicola 13, ottobre, 2007 alle 9:49 pm

    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘Admin” AND password=”1’ OR ‘1’ = ‘1” AND authorized=’0” at line 1You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘Admin” AND password=”1’ OR ‘1’ = ‘1” AND authorized=’1” at line 1

    questo è l’errore che mi da se provo ad attacare il server …

  4. 4 underground0 13, ottobre, 2007 alle 10:41 pm

    ehm… nicola guarda bene gli apici…😉

  5. 5 stefano 17, ottobre, 2007 alle 11:07 pm

    ciao io nn ho capito bene come si fa ad acedere come admin in una pagina web facendo come dici tu

  6. 6 no1globe 18, ottobre, 2007 alle 5:15 pm

    Ecco io invece non ho capito un’acca di tutto -.- :mrgreen: cose da scienziato per me😀

  7. 7 underground0 18, ottobre, 2007 alle 8:39 pm

    @stefano e no1globe: è semplice questa stringa scritta senza apici finali 1′ or ‘1’ = ‘1 quando il database la controlla diventa ‘1’ or ‘1’ = ‘1’.

    Questo che vuol dire?

    Che la password dovrebbe essere ‘1’ or(oppure) ‘1’ = ‘1’ dato che ‘1’ uguale a ‘1’ è sempre vero ci fa accedere anche se non abbiamo inserito la pass giusta…

  8. 8 stefano 18, ottobre, 2007 alle 9:07 pm

    ciao scusa l’ignoranza ma potrei avere un esempio dettagliato di come fare?

  9. 9 underground0 18, ottobre, 2007 alle 9:40 pm

    @stefano: -.- O.o ho inserito un immagine di un form login spero che non sia la prima volta che lo vedi se no non ci capiamo proprio.

    Esempio dettagliato… l’ho scritto: inserire nei campi del form login la stringa. eheh😀

  10. 10 stefano 19, ottobre, 2007 alle 10:20 pm

    mi dispiace l’ignoranza ma nn capisco a me da sempre che nn sono iscritto

  11. 11 underground0 20, ottobre, 2007 alle 10:33 am

    @stefano: vuol dire che quella pagina di codice è scritta bene :D!

  12. 12 Mike 23, novembre, 2007 alle 5:08 pm

    di myspace invece che mi dite a proposito di SQL INJECTION???

  13. 13 daniele 7, gennaio, 2008 alle 7:38 pm

    c’è ancora qualcuno? avrei bisogno di una spiegazione sui primi messaggi …grazie…

  14. 14 Rick 22, gennaio, 2008 alle 2:14 pm

    l’unica cosa che non capisco è… da un sito qualsiasi.. dove lo trovo il login per l’amministrazione? basta mettere “login.php” alla fine dell’indirizzo? o basta entrare da un qualsiasi login?

  15. 15 cirio 10, febbraio, 2008 alle 9:12 am

    @Rick: non è detto che sia sempre visibile, se conosci un cms pubblico di solito uno conosce già la path a cui arrivare altrimenti devi scannare il sito, in tutta la sua struttura e rivarne la pagina di login dell’admin.

    p.s sto studiando propio ora di database mysql..per ora sono lontano dalla sicurezza xo è sempre utile leggerne qualcosa;
    http://lineguides.netsons.org/wordpress/?cat=52

  16. 16 Alessio 22, marzo, 2008 alle 11:26 am

    io nn ho ancora capito quando in sistema nn è protetto

  17. 17 Malu 8, maggio, 2008 alle 3:18 pm

    Io pure conosco questa tecnica, grandissimo il nostro professore di sicurezza dati.

    ma un cosa mi sfugge, provando, ancora c’è qualche sitarello che si fa fregare dall’injection, ma non è che poi il server tiene traccia degli ip dai queli viene effetuato l’attacco e che poi ti beccano?

    Solo vaneggiamente, però boh…

  18. 18 underground0 9, maggio, 2008 alle 8:25 pm

    @Manu: è possibile quello che dici tu!😉 Attento😛

  19. 19 Alexcatese 21, maggio, 2008 alle 10:25 am

    Conoscete un libro che tratta questi argomenti??

  20. 20 leviathan 3, giugno, 2008 alle 6:33 pm

    io non capisco dove si devono inserire…XD nel form di autenticazione no? pero possono funzionare anche aggiungendolo all’URL…..

  21. 21 Sinir696 20, giugno, 2008 alle 9:43 am

    Volendo c’è un libro degli hacker dove ti spiega alcune cosette
    l’indirizzo è: http://www.mediafire.com/?zpwdzxyyeix

  22. 22 Maxo 8, settembre, 2008 alle 10:20 am

    Ho provato con le tre tecniche, ma l’unico risultato è stato che il sito mi ha detto che ho sbagliato pass

  23. 23 gianni 14, settembre, 2008 alle 5:43 pm

    ciao a tutti, io tasto il sito mettendo degli apici all’interno delle text, molte volte il db access mi da un messaggio di errore, allora capisco che il db è debole.
    ma la cosa che non mi convince è
    se 1’or’1’=’1 come risultato da sempre true, perchè non si riesce ad entrare in tutti i pannelli di amministrazione?

    ciao da gianni

    p.s. che poi quest’idea di entrare nel P.A. è un pò vecchiotta, in realtà sarebbe bello arrivare al sito vero e proprio, nell’ftp

  24. 24 alex 2, ottobre, 2008 alle 9:08 pm

    ciao…volevo sapere se oltre l’SQL injection sapevate altri modi per entrare con password e username di altri.(il sito e’ abbastanza protetto)…grazie

  25. 25 underground0 8, novembre, 2008 alle 4:24 pm

    @gianni: dunque, questo mio post è solo un infarinatura per capire come agisce una sql… in rete puoi trovare tantissimi manuali per approfondire l’argomento. L’SQL in tutte le sue forme è una grossa vulnerabilità tutt’altro che obsoleta.

  26. 26 megah 14, luglio, 2009 alle 2:24 pm

    ciao a tutti raga, io vorrei provare a entrare su questo server http://wt.yt2sf.com/ per poter comprare cose gratis (il sito è di un server shard cinese di un gioco online [Metin2]) se qualcuno è in grado di aiutarmi o se sapete dirmi come poterlo utilizzare fatemi sapere mi sareste davvero d’aiuto^^

  27. 27 Tech 17, febbraio, 2010 alle 11:05 am

    Ciao underground0, carino il tuo blog..
    ma permettimi un consiglio..
    non dare info troppo da newbie..
    hai lettori che chiedono come mai da errore e hanno gli apici sbagliati..
    o altri che non sanno dove trovare una pagina di login!!!
    Rischi di spingere una massa di script kiddies verso l’autodistruzione..
    i log son lì apposta..
    consiglia loro di studiarsi l’SQL almeno prima!😛
    Ciao!

  28. 28 JaGGa 23, febbraio, 2010 alle 7:20 am

    cmq il sito deve x forza essere vulnerabile non funziona su tutti i siti — hihi se fosse cosi allora google era già mio hiihih

  29. 29 PowerOfMind 27, marzo, 2010 alle 1:01 am

    Secondo me potevi disabilitare i commenti comunque bel articolo infondo solo anche molto semplici da capire le Sql Injection basta sapere l’Sql, invece dai commenti si capisce che sta diventando un posto dove i bambini scrivono posso loggare su myspace che devo rubare la passw della mia ragazza? oppure posso giocare gratis su questo gioco online con questa tecnica?

    PowerOfMind


  1. 1 Evilsentinel 1.0, il sistema di sicurezza Anti-Hacker per piattaforme PHP. « UnderGround0 World Trackback su 8, dicembre, 2007 alle 12:03 pm
  2. 2 tentativo di hacking appena scampato (spero) - AlterVista Forum Trackback su 16, marzo, 2008 alle 7:40 pm
Comments are currently closed.



Feeds RSS web, e-mail e mobile.

Creative Commons License
UnderGround0 World è pubblicato sotto una Licenza Creative Commons.
La riproduzione di tutto o parte dei contenuti di questo sito potranno avvenire solo senza alcun scopo di lucro e dovranno riportare la fonte originaria ed un link a UnderGround0 World o quella degli autori orginari. I trasgressori saranno perseguiti secondo le norme:Art. 173ter e Art. 174ter



Il Gioco Della Vita



DISCLAIMER
Le informazioni da me divulgate sono da ritenersi a puro scopo informativo e di studio. Non mi assumo nessuna responsabilità riguardante l'uso improprio o illecito e di tutti i danni o perdite di guadagni che ne possano derivare.

Contatore Visite

  • 1,049,926 visite




















My blog is worth $923,387.24.
How much is your blog worth?



Berluscounter!

NoCocozza!

ottobre: 2007
L M M G V S D
« Set   Nov »
1234567
891011121314
15161718192021
22232425262728
293031