SQL injection: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.9.5
Nessun oggetto della modifica
Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile
 
(3 versioni intermedie di 3 utenti non mostrate)
Riga 1:
[[File:KD SQLIA Classification 2010.png|thumb|alt=Classificazione dei vettori di attacchi SQL injection nel 2010|Classificazione dei vettori di attacchi SQL injection nel 2010]]
 
Nella [[sicurezza informatica]] '''SQL injection ''' è una tecnica di ''codecommand injection'', usata per [[Attacco informatico|attaccare]] applicazioni che gestiscono dati attraverso [[database relazionali]] sfruttando il linguaggio [[Sql|SQL]]. Il mancato controllo dell'input dell'utente permette di inserire artificiosamente delle [[Stringa (informatica)|stringhe]] di [[codice sorgente|codice]] [[SQL]] che saranno eseguite dall'applicazione [[server]]: grazie a questo meccanismo è possibile far eseguire comandi SQL, anche molto complessi, dall'alterazione dei dati (es. creazione di nuovi utenti) al [[download]] completo dei contenuti nel database.<ref>{{Cita web|url= https://technet.microsoft.com/en-us/library/ms161953%28v=SQL.105%29.aspx |titolo= SQL Injection |accesso= 4 agosto 2013 |autore= Microsoft |citazione= SQL injection is an attack in which malicious code is inserted into strings that are later passed to an instance of SQL Server for parsing and execution. Any procedure that constructs SQL statements should be reviewed for injection vulnerabilities because SQL Server will execute all syntactically valid queries that it receives. Even parameterized data can be manipulated by a skilled and determined attacker.}}</ref>
 
== Storia ==
Riga 49:
<syntaxhighlight lang="sql">SELECT * FROM users WHERE name = '' OR '1'='1' -- ';</syntaxhighlight>
 
Se questo codice fosse utilizzato in una procedura di [[autenticazione]], allora questo esempio potrebbe essere usato per forzare la selezione di tutti i campi dati (*) di "tutti" gli utenti piuttosto che di un singolo username come era inteso dal codice, ciò accade perché la valutazione di ‘1'='1' è sempre vera ([[short-circuit evaluation]]).
 
Nell'esempio di sotto il valore di “userName” causerebbe l'eliminazione della tabella “user” e la selezione di tutti i dati nella tabella “userinfo” (in pratica rivelando le informazioni di tutti gli utenti), usando un API che permette statement multipli:
Riga 286:
* Il 13 gennaio 2006, dei criminali informatici russi sono entrati nel sito del governo di Rhode ed hanno rubato dati sulle carte di credito degli individui che avevano fatto affari con le agenzie di stato.<ref>{{Cita web|url=http://www.xiom.com/whid-2006-3|titolo=WHID 2006-3: Russian hackers broke into a RI GOV website|editore=[[Web Application Security Consortium]]|data=13 gennaio 2006|accesso=16 maggio 2008|urlmorto=sì|urlarchivio=https://web.archive.org/web/20110213051033/http://www.xiom.com/whid-2006-3|dataarchivio=13 febbraio 2011}}</ref>
* Il 29 marzo 2006, un hacker scoprì una vulnerabilità all'SQL injection su un sito ufficiale per il turismo del governo indiano.<ref>{{Cita web|url=http://www.xiom.com/whid-2006-27|titolo=WHID 2006-27: SQL Injection in incredibleindia.org|editore=[[Web Application Security Consortium]]|data=29 marzo 2006|accesso=12 marzo 2010|urlmorto=sì|urlarchivio=https://web.archive.org/web/20090701130734/http://www.xiom.com/whid-2006-27|dataarchivio=1º luglio 2009}}</ref>
* Il 29 giugno 2009, un criminale informatico deturpò il [[sito web]] di e [[Microsoft]] UK usando un attacco di SQLI.<ref>{{Cita web|url=http://www.cgisecurity.net/2007/06/hacker-defaces.html|titolo=Hacker Defaces Microsoft U.K. Web Page|editore=cgisecurity.net|autore=Robert|data=29 giugno 2007|accesso=16 maggio 2008}}</ref><ref>{{Cita web|url=https://rcpmag.com/news/article.aspx?editorialsid=8762|titolo=Hacker Defaces Microsoft UK Web Page|editore=Redmond Channel Partner Online|autore=Keith Ward|data=29 giugno 2007|accesso=16 maggio 2008|urlarchivio=https://web.archive.org/web/20071223181645/http://rcpmag.com/news/article.aspx?editorialsid=8762|dataarchivio=23 dicembre 2007|urlmorto=sì}}</ref> Un sito web britannico, ''[[The Register]]'' riportò che un portavoce di Microsoft avesse confermato il problema.
* Nel gennaio 2008, decine di migliaia di PC furono infettati da un attacco di SQL injection automatizzato che sfruttava le vulnerabilità nel codice che usava [[Microsoft SQL Server]]<ref name="chinesefarm" />
* Nel gennaio 2008, il sito del malesiano [[Kaspersky Lab]] fu violato da un hacker turco conosciuto con lo pseudonimo "m0sted", che disse di aver usato un SQL injection.
Riga 294:
* Nel 2008, almeno da aprile ad agosto, una serie di attacchi comincio a sfruttare le vulnerabilità ad SQLI di [[Internet Information Services|IIS web server]] e SQL Server. L'attacco non richiedeva di indovinare il nome di una tabella o la colonna, e corrompeva tutte le colonne di testo in tutte le tabelle in una sola richiesta.<ref name="broad_inject_specifics">{{Cita web|url= https://hackademix.net/2008/04/26/mass-attack-faq/ |titolo= Mass Attack FAQ |autore=Giorgio Maone|data= 26 aprile 2008 }}</ref> Ad ogni valore veniva appeso una stringa HTML con un riferimento ad un [[malware]] [[JavaScript]]. Quando successivamente, veniva visualizzato il valore al visitatore del sito, lo script tentava vari approcci per prendere il controllo del sistema del visitatore. Il numero delle pagine web sfruttate si stima fosse attorno alle 500,000.<ref name="broad_inject_numbers">{{Cita news |url=https://www.computerworld.com/article/2535473/huge-web-hack-attack-infects-500-000-pages.html |titolo=Huge Web hack attack infects 500,000 pages |pubblicazione=[[Computerworld (blog)|Computerworld]] |nome=Gregg |cognome=Keizer |data=25 aprile 2008 |accesso=16 ottobre 2015 |lingua=en}}</ref>
* Il 17 agosto 2009, il Dipartimento di giustizia degli USA accusò un cittadino americano, [[Albert Gonzalez]], e due russi del furto di 130 milioni di numeri di carte di credito avendo usato un attacco di SQLI. È riportato come "il maggiore caso di furto di identità nella storia americana".<ref>{{Cita news|url=http://news.bbc.co.uk/2/hi/americas/8206305.stm |titolo=US man 'stole 130m card numbers' |editore=BBC |data=17 agosto 2009 |accesso=17 agosto 2009}}</ref>
* Nel dicembre 2009, un hacker riuscì ad accedere a un database della [[RockYou]] che conteneva le [[password]] e gli username non criptati di circa 32 milioni di utenti usando un attacco di SQLI.<ref>{{Cita news|url=https://www.nytimes.com/external/readwriteweb/2009/12/16/16readwriteweb-rockyou-hacker-30-of-sites-store-plain-text-13200.html |titolo= RockYou Hacker - 30% of Sites Store Plain Text Passwords |pubblicazione=New York Times |nome=Jolie |cognome=O'Dell |data=16 dicembre 2009 |accesso=23 maggio 2010}}</ref>
* Nel giugno del 2010, un ricercatore sulla sicurezza sud americano che va con lo pseudonimo "Ch&nbsp;Russo" ottenne informazioni sensibili sugli utenti di un popolare sito per il [[BitTorrent]], cioè [[The Pirate Bay]]. Ottenne l'accesso al pannello di controllo da amministratore del sito, e sfruttò una vulnerabilità di SQLI che gli rese possibile ottenere informazioni sugli account degli utenti, inclusi indirizzi IP, [[MD5]] [[Cryptographic hash function|password hashes]] e record di quali torrent ogni utente aveva caricato.<ref>{{Cita news|url=https://krebsonsecurity.com/2010/07/pirate-bay-hack-exposes-user-booty/ |titolo= The pirate bay attack |data=7 luglio 2010 }}</ref>
* Dal 24 al 26 luglio 2010, degli hacker dal [[Giappone]] e dalla Cina usarono un SQL injection per ottenere l'accesso ai dati sulle carte di credito dei clienti della Neo BEAT, una compagnia di Osaka che gestisce il sito di un grosso supermercato online. L'attacco ha danneggiato anche sette partner in affari come le catene di supermercati Izumiya Co, Maruetsu Inc, e Ryukyu Jusco Co. Il furto dei dati riguardò 12&nbsp;191 clienti. Il 14 agosto 2010 sono stati riportati più di 300 casi di informazioni sulle carte di credito usate per acquistare beni e servizi in Cina.
Riga 318:
== Riferimenti nella cultura di massa ==
* Il login non autorizzato su un sito web tramite SQL injection fornisce uno spunto narrativo per la trama del romanzo ''[[Il seggio vacante]]'' di [[J. K. Rowling]], pubblicato nel 2012.
* UnUna cartonestriscia didel webcomic ''[[xkcd]]'' cartoon riguarda un personaggio di nomechiamato "Robert'); DROP TABLE students;--", che effettuail cui nome permette di effettuare una SQL injection. ComeIn risultatoriferimento dia questoquesta cartone,striscia l'SQL injection vienea volte chiamata qualche volta in modo informale 'Bobby Tables'.<ref>{{Cita web|cognome=Munroe|nome=Randall|titolo=XKCD: Exploits Of A Mom|url=https://xkcd.com/327/|accesso=26 febbraio 2013}}</ref><ref>{{Cita web|titolo=Bobby Tables: A guide to preventing SQL injection|url=http://bobby-tables.com/|accesso=6 ottobre 2013}}</ref>
* Nel 2014 un soggetto in Polonia ha legalmente rinominato la sua impresa in ''<nowiki>Dariusz Jakubowski x'; DROP TABLE users; SELECT '1</nowiki>'' con lo scopo di ostacolare le operazioni degli spammer [[Web scraping|harvesting bots]].<ref>{{Cita web|titolo=Jego firma ma w nazwie SQL injection. Nie zazdrościmy tym, którzy będą go fakturowali ;)|sito=Niebezpiecznik|lingua=pl|data=11 settembre 2014|url=http://niebezpiecznik.pl/post/jego-firma-ma-w-nazwie-sql-injection-nie-zazdroscimy-tym-ktorzy-beda-go-fakturowali/|accesso=26 settembre 2014}}</ref>
 
Riga 335:
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
<!-- * [http://www.techyfreaks.com/2012/05/manual-sql-injection-tutorial.html Manual Sql Injection Tutorial] By The Ajay Devgan --> <!-- COLLEGAMENTO NON PIù ESISTENTE -->
* [https://cheatsheetseries.owasp.org/cheatsheets/SQL_Injection_Prevention_Cheat_Sheet.html OWASP SQL Injection Cheat Sheets], by OWASP.