{"id":505,"date":"2022-08-06T22:53:54","date_gmt":"2022-08-06T22:53:54","guid":{"rendered":"https:\/\/securitybriefing.net\/?p=505"},"modified":"2022-08-06T22:53:54","modified_gmt":"2022-08-06T22:53:54","slug":"sql-injection-101-cose-sqli-e-come-prevenire-gli-attacchi","status":"publish","type":"post","link":"https:\/\/securitybriefing.net\/it\/sicurezza\/sql-injection-101-cose-sqli-e-come-prevenire-gli-attacchi\/","title":{"rendered":"SQL Injection 101: cos'\u00e8 SQLi e come prevenire gli attacchi"},"content":{"rendered":"<h2 class=\"wp-block-heading\" id=\"what-is-sql-injection\"><strong>Che cos'\u00e8 l'iniezione SQL<\/strong><\/h2>\n\n\n<p>L'iniezione SQL (SQLi) \u00e8 un tipo di attacco che consente ai criminali di eseguire istruzioni SQL dannose contro applicazioni web vulnerabili. Gli aggressori possono accedere a dati sensibili, come informazioni sui clienti, dati personali, segreti commerciali e altro ancora, aggirando le misure di sicurezza delle applicazioni. Qui parleremo dell'iniezione SQL, di come funziona e di come si possono prevenire gli attacchi.<\/p>\n\n\n\n<p>Gli attacchi di tipo SQL injection possono verificarsi su qualsiasi sito web che utilizzi un database SQL. Questo tipo di attacco consente ai malintenzionati di accedere ai vostri dati essenziali. Possono vedere informazioni sui consumatori, dati personali, segreti commerciali e propriet\u00e0 intellettuale. Secondo OWASP, si tratta di uno dei tipi pi\u00f9 gravi di attacchi alle applicazioni web.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"types-of-sql-injection\"><strong>Tipi di SQL Injection<\/strong><\/h2>\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"542\" class=\"wp-image-515\" src=\"http:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/types-of-SQL-Injectin-2.png\" alt=\"Tipi di SQL Injection\" srcset=\"https:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/types-of-SQL-Injectin-2.png 1024w, https:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/types-of-SQL-Injectin-2-300x159.png 300w, https:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/types-of-SQL-Injectin-2-768x407.png 768w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n<h3 class=\"wp-block-heading\" id=\"inband-sqli\"><strong>SQLi in banda<\/strong><\/h3>\n\n\n<p>L'iniezione SQL in-band \u00e8 un attacco in cui l'aggressore utilizza lo stesso canale per inviare e ricevere le query. In-band significa che la risposta \u00e8 ottenuta utilizzando lo stesso mezzo di comunicazione. L'obiettivo dell'attaccante \u00e8 ottenere immediatamente la risposta in un browser web, se possibile eseguendo l'attacco manualmente con un browser web.<\/p>\n\n\n\n<p><strong>Esempio di iniezione SQL in-band<\/strong><\/p>\n\n\n\n<p>Il modo pi\u00f9 comune per un aggressore di effettuare un'iniezione SQL in-band \u00e8 modificare la richiesta in modo da poter vedere le informazioni personali dell'utente corrente. Ci\u00f2 pu\u00f2 avvenire modificando il valore inviato come parte della richiesta. Ad esempio, se l'istruzione doveva visualizzare il nome dell'utente, l'aggressore pu\u00f2 modificarla in modo che venga visualizzato il suo nome.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-vivid-green-cyan-color has-black-background-color has-text-color has-background\">SELEZIONARE * DA UTENTI DOVE ID_utente \u00c8 LIKE 'utente_corrente'<\/pre>\n\n\n\n<p>L'SQLi basato su errori e l'SQLi basato su unioni sono le due forme pi\u00f9 frequenti di SQL injection in-band.<\/p>\n\n\n<h4 class=\"wp-block-heading\" id=\"errorbased-sqli\"><strong>SQL basato sugli errori<\/strong><\/h4>\n\n\n<p>Una tecnica di SQLi basata su errori \u00e8 un approccio di SQL injection in-band che sfrutta i messaggi di errore del server di database per scoprire l'architettura del database. L'iniezione SQL basata su errori \u00e8 il tipo pi\u00f9 comune di iniezione SQL in-band.<\/p>\n\n\n\n<p><strong>Esempio di SQLi basato su errori:<\/strong><\/p>\n\n\n\n<p>Se un utente malintenzionato tenta di accedere con le seguenti credenziali:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-vivid-green-cyan-color has-black-background-color has-text-color has-background\">nome utente: ' OPPURE 'a'='apassword: qualsiasi cosa<\/pre>\n\n\n\n<p>Il database restituir\u00e0 un errore perch\u00e9 l'istruzione \u00e8 sintatticamente scorretta. Il messaggio di errore riveler\u00e0 informazioni sul database, che l'attaccante potr\u00e0 utilizzare a suo vantaggio.<\/p>\n\n\n<h4 class=\"wp-block-heading\" id=\"unionbased-sqli\"><strong>SQLi basato sulle unioni:<\/strong><\/h4>\n\n\n<p>L'iniezione SQL in-band \u00e8 un modo per ottenere informazioni da un sito Web utilizzando l'operatore UNION per combinare i risultati di due o pi\u00f9 istruzioni SELECT.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"blind-sql-injection\"><strong>Iniezione SQL cieca<\/strong><\/h3>\n\n\n<p>La Blind SQL injection \u00e8 un attacco in cui l'aggressore tenta di ottenere risposte dal database ponendo domande che daranno come risultato una risposta vera o falsa. L'attaccante utilizza i messaggi di errore per vedere se l'applicazione risponde in modo diverso quando viene utilizzato un codice specifico.<\/p>\n\n\n\n<p>Quando un hacker utilizza l'iniezione SQL, l'applicazione Web potrebbe visualizzare messaggi di avviso critici per il database, indicando che la sintassi della query SQL non \u00e8 corretta. L'iniezione SQL cieca funziona come l'iniezione SQL tradizionale, tranne che per il modo in cui i dati vengono ottenuti dal database. Se un database non contiene informazioni sufficienti per essere sfruttato da un aggressore, quest'ultimo deve porre una serie di domande per ottenere i dati.<\/p>\n\n\n\n<p>La Blind SQL injection si divide in Blind-Boolean-based SQLi e Blind-Time-based SQLi.<\/p>\n\n\n<h4 class=\"wp-block-heading\" id=\"booleanbased-blind-sqli\"><strong>SQL cieco basato su booleani<\/strong><\/h4>\n\n\n<p>L'iniezione SQL cieca basata su booleani \u00e8 un attacco in cui l'aggressore cerca di ottenere risposte dal database ponendo domande che daranno come risultato una risposta vera o falsa. L'attaccante utilizza i messaggi di errore per vedere se l'applicazione risponde in modo diverso quando viene utilizzato un codice specifico.<\/p>\n\n\n\n<p>Esempio di Blind SQLi basato su booleani:<\/p>\n\n\n\n<p>Se un utente malintenzionato vuole scoprire il tipo di database, utilizzer\u00e0 la seguente istruzione:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-vivid-green-cyan-color has-black-background-color has-text-color has-background\">SELECT * FROM utenti WHERE user_id LIKE 'current_user' e database() like '%type%'<\/pre>\n\n\n\n<p>Se il database \u00e8 MySQL, l'output sar\u00e0 simile a questo:<\/p>\n\n\n\n<p>Si \u00e8 verificato un errore nella sintassi SQL; controllare il manuale corrispondente alla versione del server MySQL per conoscere la sintassi corretta da utilizzare vicino a 'and database() like '%type%' alla riga<\/p>\n\n\n<h4 class=\"wp-block-heading\" id=\"timebased-blind-sql-injection\"><strong>Iniezione SQL cieca basata sul tempo<\/strong><\/h4>\n\n\n<p>Un attacco Blind basato sul tempo avviene quando un comando SQL viene inviato al server con un codice che causa un'esecuzione pi\u00f9 lenta delle query.<\/p>\n\n\n\n<p>Gli attacchi ciechi basati sul tempo consentono agli aggressori di estrarre i dati in base al tempo di accesso. Un attacco di questo tipo \u00e8 noto come attacco a iniezione cieca o inferenziale. Si tratta di un tipo di attacco in cui non vi \u00e8 alcun flusso di dati tra l'attaccante e il database, ma poich\u00e9 non vi \u00e8 alcuna risposta, \u00e8 noto anche come attacco a iniezione cieca.<\/p>\n\n\n\n<p>Il tempo di risposta indica se la risposta \u00e8 corretta o errata. Se la risposta \u00e8 negativa, l'intruso effettua un'altra richiesta. Questa tecnica di attacco \u00e8 lenta perch\u00e9 l'hacker deve esaminare ogni carattere singolarmente, soprattutto quando si attaccano database di grandi dimensioni.<\/p>\n\n\n\n<p><strong>Esempio di SQL cieco<\/strong><\/p>\n\n\n\n<p>In questo esempio, l'attaccante cerca di determinare se l'utente con id=999 esiste nel database. Per farlo, utilizza la seguente istruzione:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-vivid-green-cyan-color has-black-background-color has-text-color has-background\">SE(SUBSTRING((SELEZIONA password DA utenti DOVE user_id=999),0, LEN('segreto'))='segreto', DORMI(30), 'falso')<\/pre>\n\n\n\n<p>Se l'utente con id 999 esiste nel database e la sua password \u00e8 segreta, l'applicazione rimane in attesa per 30 secondi. L'applicazione restituir\u00e0 false se l'utente non esiste nel database.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"outofband-sqli\"><strong>SQLi fuori banda<\/strong><\/h3>\n\n\n<p>Chi vuole rubare i dati pu\u00f2 inviare codice SQL a un server di database in un modo che non fa parte della normale comunicazione tra il server e gli altri computer. Ci\u00f2 pu\u00f2 avvenire inviando informazioni al server tramite richieste DNS o HTTP.<\/p>\n\n\n\n<p>La risposta dell'applicazione non sar\u00e0 influenzata dal fatto che vengano restituiti o meno dei dati, dal fatto che ci sia o meno un problema con il database o dal tempo necessario per eseguire la query. Le interazioni fuori banda possono essere utilizzate nelle interazioni di rete per attivare eventi a piacere. A seconda di una condizione iniettata, questi eventi possono essere attivati in modo condizionato per acquisire informazioni un bit alla volta.<\/p>\n\n\n\n<p>I dati possono trapelare anche attraverso diversi protocolli di rete dalle interazioni di rete. L'immagine rappresenta la richiesta inviata dall'applicazione web al database dell'applicazione.<\/p>\n\n\n\n<p><strong>Esempio di SQLi fuori banda<\/strong><\/p>\n\n\n\n<p>In questo esempio, l'attaccante cerca di determinare se un utente specifico esiste nel database. Per farlo, utilizza la seguente istruzione:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-vivid-green-cyan-color has-black-background-color has-text-color has-background\">SELECT user_id FROM users WHERE username='$username' AND password='$password' LIMIT 0,0 UNION SELECT NULL,'' INTO OUTFILE '\/var\/opt\/database\/$filename.php'; --<\/pre>\n\n\n\n<p>L'applicazione restituir\u00e0 l'ID utente se l'utente esiste nel database. Se l'utente non esiste nel database, l'applicazione crea un file contenente codice PHP che pu\u00f2 essere utilizzato per eseguire comandi di sistema. L'aggressore pu\u00f2 quindi utilizzare questo file per eseguire comandi sul server.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"how-to-prevent-an-sql-injection\"><strong>Come prevenire un'iniezione SQL<\/strong><\/h2>\n\n\n<p>Il modo migliore per proteggersi dagli attacchi di SQL injection \u00e8 utilizzare la convalida dell'input, le istruzioni preparate e le query parametrizzate. Il codice non deve mai utilizzare direttamente l'input dell'utente. Gli sviluppatori devono sanificare tutti gli input, invece di limitarsi a quelli dei moduli web, come i moduli di login. Le virgolette singole devono essere eliminate da qualsiasi componente di codice discutibile. \u00c8 anche una buona idea nascondere i problemi di database sui siti live per evitare di rivelarli inavvertitamente. L'iniezione SQL pu\u00f2 fornire informazioni su un sistema di database che gli aggressori possono utilizzare a loro vantaggio.<\/p>\n\n\n\n<p>Se riscontrate un problema con il vostro sito web, dovete metterlo immediatamente offline e contattare il vostro provider di hosting. Questi potr\u00e0 aiutarvi a determinare se il vostro sito \u00e8 stato compromesso o meno e quali sono le misure da adottare per risolvere il problema. Nel frattempo, assicuratevi che tutti gli utenti del vostro sito siano a conoscenza del problema e cambino le loro password il prima possibile.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"prevention-tips-for-avoiding-sql-injections\"><strong>Suggerimenti per evitare le iniezioni SQL<\/strong><\/h2>\n\n\n<p>Esistono alcuni modi per evitare le vulnerabilit\u00e0 dell'iniezione SQL nel linguaggio di programmazione e nella configurazione del database. Queste tecniche possono essere utilizzate con la maggior parte dei database, come ad esempio XML. \u00c8 possibile utilizzare queste tecniche per rendere i database pi\u00f9 sicuri.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"1-use-of-properly-constructed-stored-procedures\">1) Utilizzo di procedure memorizzate correttamente costruite<\/h3>\n\n\n<p>I principianti dovrebbero iniziare imparando a creare dichiarazioni con variabili. \u00c8 pi\u00f9 semplice che creare query dinamiche e pi\u00f9 facile da capire. Le query parametrizzate sono quelle in cui lo sviluppatore crea tutto il codice SQL e poi fornisce ogni parametro in un secondo momento. Questo metodo consente al database di distinguere tra codice sorgente e informazioni.<\/p>\n\n\n\n<p>I Prepared Statement aiutano a garantire che l'obiettivo di una query non venga modificato, anche se qualcuno cerca di dare istruzioni SQL.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"2-allowlist-input-validation\">2) Convalida dell'ingresso alla lista dei permessi<\/h3>\n\n\n<p>Le query SQL utilizzano le variabili bind in luoghi specifici per i dati. Ad esempio, se si usa Python, si usa la variabile <strong>%s<\/strong> segnaposto. \u00c8 possibile utilizzare un'espressione regolare per convalidare l'input dell'utente rispetto all'elenco dei caratteri consentiti in ciascuna variabile di vincolo.<\/p>\n\n\n\n<p>Se si utilizza JavaScript, si pu\u00f2 usare il metodo <strong>\\w<\/strong> per abbinare i caratteri alfanumerici e i caratteri di sottolineatura.<\/p>\n\n\n\n<p>L'elenco dei permessi deve essere il pi\u00f9 specifico possibile per evitare falsi positivi.<\/p>\n\n\n\n<p>Ad esempio, se si cerca un numero di telefono statunitense, si utilizza la seguente espressione regolare:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted has-vivid-green-cyan-color has-black-background-color has-text-color has-background\">\/^\\d{11}$\/<\/pre>\n\n\n\n<p>Questo corrisponde a una stringa di 11 cifre che potrebbe essere un numero di telefono. Se qualcuno tentasse di inviare qualcosa come '<strong>abcdef<\/strong>', non corrisponderebbe e l'input non sarebbe valido.<\/p>\n\n\n\n<p>In questo modo ci si assicura che i dati siano sani e salvi. Se avete bisogno di usare i valori del codice invece dei parametri utente, va bene lo stesso!<\/p>\n\n\n\n<p>Tuttavia, si supponga che i valori dei parametri dell'utente si riferiscano a nomi di tabelle e colonne specifiche. In questo caso, i valori dei parametri devono essere mappati sui nomi delle tabelle e delle colonne corrispondenti, per garantire che l'input dell'utente non validato non venga inserito nella query.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"3-use-whitelists\">3) Utilizzare le whitelist<\/h3>\n\n\n<p>Non filtrate l'input dell'utente in base a liste nere di caratteri non validi. \u00c8 molto pi\u00f9 efficace utilizzare elenchi di caratteri validi attesi in campi specifici. In questo modo si fermano gli attacchi di SQL injection prima che inizino.<\/p>\n\n\n\n<p>Ad esempio, se ci si aspetta un numero di telefono, nel campo di immissione sono consentite solo cifre e trattini. Se ci si aspetta un indirizzo e-mail, si devono consentire solo i caratteri validi per un indirizzo e-mail.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"4-use-the-most-uptodate-platforms\">4) Utilizzare le piattaforme pi\u00f9 aggiornate<\/h3>\n\n\n<p>PHP non dispone di protezione SQLi nelle piattaforme di sviluppo web pi\u00f9 vecchie. Utilizzate l'edizione pi\u00f9 aggiornata dell'ambiente di programmazione, del linguaggio e delle tecnologie associate disponibili. In questo esempio, invece di PHP, utilizzare PDO.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"5-scan-your-web-application-regularly\">5) Eseguire regolarmente una scansione dell'applicazione web<\/h3>\n\n\n<p>Le iniezioni SQL possono essere molto difficili da individuare. \u00c8 importante eseguire regolarmente una scansione delle applicazioni web per individuare eventuali vulnerabilit\u00e0.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"6-enforcing-least-privilege\">6) Applicazione del privilegio minimo<\/h3>\n\n\n<p>Il principio del minimo privilegio \u00e8 un concetto di sicurezza che limita gli utenti alla quantit\u00e0 minima di accesso necessaria per svolgere il proprio lavoro. Ci\u00f2 include la limitazione del numero di account che gli utenti hanno e dei privilegi che questi account hanno.<\/p>\n\n\n\n<p>Least Restriction on Functionality (LRF) \u00e8 la pratica e il concetto di limitare i diritti degli utenti, gli account e i processi informatici solo alle risorse necessarie per svolgere compiti basilari e accettabili. In questo modo si contribuisce a mantenere livelli minimi di diritti o autorizzazioni per gli utenti, che sono fondamentali per consentire alle persone di svolgere efficacemente il proprio lavoro.<\/p>\n\n\n\n<p>Il principio del minimo privilegio \u00e8 un principio di sicurezza che prevede che le applicazioni, i sistemi e i gadget abbiano solo le autorizzazioni necessarie per svolgere un compito specifico. In questo modo, l'impatto sar\u00e0 limitato se qualcuno riesce a sfruttare una vulnerabilit\u00e0 e a fare danni. Ci\u00f2 \u00e8 in contrasto con l'assegnazione agli utenti di pi\u00f9 permessi di quelli necessari, che aumentano il rischio di danni significativi in un attacco SQL.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"sql-injection-frequently-asked-questions\"><strong>SQL Injection - Domande frequenti<\/strong><\/h2>\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\u00a0<\/div><\/div>\n\n\n\n<div class=\"schema-faq wp-block-yoast-faq-block\">\n<div id=\"faq-question-1659826159348\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\">Qual \u00e8 l'iniezione SQL pi\u00f9 comune?<\/strong>\n<p class=\"schema-faq-answer\">L'iniezione SQL in-band \u00e8 il tipo pi\u00f9 comune di attacco SQL injection. Si verifica quando un aggressore pu\u00f2 utilizzare lo stesso canale di comunicazione per fornire il payload e raccogliere i risultati.<\/p>\n<\/div>\n<div id=\"faq-question-1659826187832\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\">Qual \u00e8 la migliore difesa da SQL injection?<\/strong>\n<p class=\"schema-faq-answer\">La migliore difesa contro le SQL injection consiste nell'utilizzare query parametriche. Questo tipo di query utilizza valori segnaposto per i parametri, che vengono forniti in un secondo momento. Questo metodo consente al database di distinguere tra codice sorgente e informazioni.<\/p>\n<\/div>\n<div id=\"faq-question-1659826216670\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\">Come viene rilevata l'iniezione SQL?<\/strong>\n<p class=\"schema-faq-answer\">L'iniezione SQL pu\u00f2 essere rilevata in diversi modi. Un metodo consiste nell'utilizzare un firewall per applicazioni Web (WAF). Un WAF \u00e8 un componente hardware o software che si interpone tra un'applicazione web e Internet. Ispeziona il traffico alla ricerca di attivit\u00e0 dannose e pu\u00f2 bloccare gli attacchi di SQL injection.<\/p>\n<\/div>\n<div id=\"faq-question-1659826245103\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\">Che cos'\u00e8 l'iniezione SQL di secondo ordine?<\/strong>\n<p class=\"schema-faq-answer\">L'iniezione SQL di secondo ordine si verifica quando un aggressore pu\u00f2 iniettare un payload che viene memorizzato dall'applicazione Web e poi eseguito successivamente. Questo tipo di attacco \u00e8 pi\u00f9 difficile da realizzare perch\u00e9 l'aggressore deve avere un modo per innescare l'esecuzione del payload memorizzato.<\/p>\n<\/div>\n<div id=\"faq-question-1659826275267\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\">Che cos'\u00e8 la blind SQL injection?<\/strong>\n<p class=\"schema-faq-answer\">La Blind SQL injection \u00e8 un attacco in cui l'attaccante non vede direttamente i risultati del suo payload. Deve invece utilizzare dichiarazioni vere o false per dedurre informazioni dal database. Questo tipo di attacco \u00e8 pi\u00f9 difficile da eseguire, ma pu\u00f2 essere altrettanto pericoloso di altri tipi di SQL injection.<\/p>\n<\/div>\n<div id=\"faq-question-1659826301781\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\">Che cos'\u00e8 una query impilata?<\/strong>\n<p class=\"schema-faq-answer\">Una stacked query \u00e8 un tipo di SQL injection in cui l'attaccante utilizza pi\u00f9 query per estrarre informazioni dal database. Questo tipo di attacco \u00e8 pi\u00f9 difficile da eseguire, ma pu\u00f2 essere molto pericoloso se ha successo.<\/p>\n<\/div>\n<div id=\"faq-question-1659826330814\" class=\"schema-faq-section\"><strong class=\"schema-faq-question\">Che cos'\u00e8 un'iniezione SQL basata su un errore?<\/strong>\n<p class=\"schema-faq-answer\">L'iniezione SQL basata su errori \u00e8 un attacco in cui l'aggressore utilizza gli errori del database per dedurre informazioni dal database. Questo attacco \u00e8 pi\u00f9 difficile da eseguire, ma pu\u00f2 essere molto pericoloso se ha successo.<\/p>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Cos'\u00e8 l'iniezione SQL L'iniezione SQL (SQLi) \u00e8 un tipo di attacco che consente ai criminali di eseguire istruzioni SQL dannose contro applicazioni web vulnerabili. Gli aggressori possono accedere a dati sensibili, come... <a class=\"more-link\" href=\"https:\/\/securitybriefing.net\/it\/sicurezza\/sql-injection-101-cose-sqli-e-come-prevenire-gli-attacchi\/\">Continue reading <span class=\"screen-reader-text\">SQL Injection 101: cos'\u00e8 SQLi e come prevenire gli attacchi<\/span><\/a><\/p>","protected":false},"author":1,"featured_media":644,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[],"class_list":["post-505","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security","entry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>What is SQLi and How to Prevent Attacks | securitybriefing<\/title>\n<meta name=\"description\" content=\"Learn the basics of SQL injection. what is SQL injection, how does it work, and what ways to protect your site from attacks.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/securitybriefing.net\/it\/sicurezza\/sql-injection-101-cose-sqli-e-come-prevenire-gli-attacchi\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is SQLi and How to Prevent Attacks | securitybriefing\" \/>\n<meta property=\"og:description\" content=\"Learn the basics of SQL injection. what is SQL injection, how does it work, and what ways to protect your site from attacks.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/securitybriefing.net\/it\/sicurezza\/sql-injection-101-cose-sqli-e-come-prevenire-gli-attacchi\/\" \/>\n<meta property=\"og:site_name\" content=\"Security Briefing\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-06T22:53:54+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/sql-injection.png\" \/>\n\t<meta property=\"og:image:width\" content=\"558\" \/>\n\t<meta property=\"og:image:height\" content=\"500\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"security\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"security\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/\"},\"author\":{\"name\":\"security\",\"@id\":\"https:\/\/securitybriefing.net\/#\/schema\/person\/e99d7bfcfc8ecee5ed34ef3f0416ee81\"},\"headline\":\"SQL Injection 101: What is SQLi and How to Prevent Attacks\",\"datePublished\":\"2022-08-06T22:53:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/\"},\"wordCount\":2130,\"publisher\":{\"@id\":\"https:\/\/securitybriefing.net\/#organization\"},\"image\":{\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/sql-injection.png\",\"articleSection\":[\"Security\"],\"inLanguage\":\"it-IT\"},{\"@type\":[\"WebPage\",\"FAQPage\"],\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/\",\"url\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/\",\"name\":\"What is SQLi and How to Prevent Attacks | securitybriefing\",\"isPartOf\":{\"@id\":\"https:\/\/securitybriefing.net\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/sql-injection.png\",\"datePublished\":\"2022-08-06T22:53:54+00:00\",\"description\":\"Learn the basics of SQL injection. what is SQL injection, how does it work, and what ways to protect your site from attacks.\",\"breadcrumb\":{\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#breadcrumb\"},\"mainEntity\":[{\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826159348\"},{\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826187832\"},{\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826216670\"},{\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826245103\"},{\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826275267\"},{\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826301781\"},{\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826330814\"}],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#primaryimage\",\"url\":\"https:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/sql-injection.png\",\"contentUrl\":\"https:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/sql-injection.png\",\"width\":558,\"height\":500,\"caption\":\"sql injection\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/securitybriefing.net\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"SQL Injection 101: What is SQLi and How to Prevent Attacks\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/securitybriefing.net\/#website\",\"url\":\"https:\/\/securitybriefing.net\/\",\"name\":\"Security Briefing\",\"description\":\"Read cybersecurity news, online safety guides, cyber threat updates, and use free security tools from Security Briefing.\",\"publisher\":{\"@id\":\"https:\/\/securitybriefing.net\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/securitybriefing.net\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/securitybriefing.net\/#organization\",\"name\":\"Security Briefing\",\"url\":\"https:\/\/securitybriefing.net\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/securitybriefing.net\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/securitybriefing.net\/wp-content\/uploads\/2023\/06\/security-briefing-logo-5.png\",\"contentUrl\":\"https:\/\/securitybriefing.net\/wp-content\/uploads\/2023\/06\/security-briefing-logo-5.png\",\"width\":256,\"height\":70,\"caption\":\"Security Briefing\"},\"image\":{\"@id\":\"https:\/\/securitybriefing.net\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/securitybriefing.net\/#\/schema\/person\/e99d7bfcfc8ecee5ed34ef3f0416ee81\",\"name\":\"security\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/securitybriefing.net\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/f882f35c703c897d1ec76c380b39ceed3f7309182d44a3177612bc192f6c9ddb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/f882f35c703c897d1ec76c380b39ceed3f7309182d44a3177612bc192f6c9ddb?s=96&d=mm&r=g\",\"caption\":\"security\"},\"description\":\"admin is a senior staff writer for Government Technology. She previously wrote for PYMNTS and The Bay State Banner, and holds a B.A. in creative writing from Carnegie Mellon. She\u2019s based outside Boston.\",\"sameAs\":[\"http:\/\/securitybriefing.net\"],\"url\":\"https:\/\/securitybriefing.net\/it\/author\/security\/\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826159348\",\"position\":1,\"url\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826159348\",\"name\":\"What is the most common SQL injection?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"In-band SQL injection is the most common type of SQL injection attack. It occurs when an attacker can use the same communication channel to deliver the payload and gather results.\",\"inLanguage\":\"it-IT\"},\"inLanguage\":\"it-IT\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826187832\",\"position\":2,\"url\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826187832\",\"name\":\"What is the best defense of SQL injection?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"The best defense against SQL injection is to use parameterized queries. This type of query uses placeholder values for parameters, which are supplied at a later date. This method allows the database to identify between source code and information.\",\"inLanguage\":\"it-IT\"},\"inLanguage\":\"it-IT\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826216670\",\"position\":3,\"url\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826216670\",\"name\":\"How is SQL injection detected?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"SQL injection can be detected in several ways. One method is to use a web application firewall (WAF). A WAF is a piece of hardware or software that sits between a web application and the internet. It inspects traffic for malicious activity and can block SQL injection attacks.\",\"inLanguage\":\"it-IT\"},\"inLanguage\":\"it-IT\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826245103\",\"position\":4,\"url\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826245103\",\"name\":\"What is second-order SQL injection?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Second-order SQL injection occurs when an attacker can inject a payload that is stored by the web application and then later executed. This type of attack is more difficult to achieve because the attacker must have a way to trigger the execution of the stored payload.\",\"inLanguage\":\"it-IT\"},\"inLanguage\":\"it-IT\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826275267\",\"position\":5,\"url\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826275267\",\"name\":\"What is blind SQL injection?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Blind SQL injection is an attack where the attacker does not directly see the results of their payload. Instead, they must use true or false statements to infer information from the database. This type of attack is more challenging to execute but can be just as dangerous as other types of SQL injection.\",\"inLanguage\":\"it-IT\"},\"inLanguage\":\"it-IT\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826301781\",\"position\":6,\"url\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826301781\",\"name\":\"What is a stacked query?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"A stacked query is a type of SQL injection where the attacker uses multiple queries to extract information from the database. This type of attack is more challenging to execute but can be very dangerous if successful.\",\"inLanguage\":\"it-IT\"},\"inLanguage\":\"it-IT\"},{\"@type\":\"Question\",\"@id\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826330814\",\"position\":7,\"url\":\"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826330814\",\"name\":\"What is an error-based SQL injection?\",\"answerCount\":1,\"acceptedAnswer\":{\"@type\":\"Answer\",\"text\":\"Error-based SQL injection is an attack where the attacker uses database errors to infer information from the database. This attack is more challenging to execute but can be very dangerous if successful.\",\"inLanguage\":\"it-IT\"},\"inLanguage\":\"it-IT\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Che cos'\u00e8 SQLi e come prevenire gli attacchi | securitybriefing","description":"Imparate le basi dell'iniezione SQL. Cos'\u00e8 l'iniezione SQL, come funziona e quali sono i modi per proteggere il vostro sito dagli attacchi.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/securitybriefing.net\/it\/sicurezza\/sql-injection-101-cose-sqli-e-come-prevenire-gli-attacchi\/","og_locale":"it_IT","og_type":"article","og_title":"What is SQLi and How to Prevent Attacks | securitybriefing","og_description":"Learn the basics of SQL injection. what is SQL injection, how does it work, and what ways to protect your site from attacks.","og_url":"https:\/\/securitybriefing.net\/it\/sicurezza\/sql-injection-101-cose-sqli-e-come-prevenire-gli-attacchi\/","og_site_name":"Security Briefing","article_published_time":"2022-08-06T22:53:54+00:00","og_image":[{"width":558,"height":500,"url":"https:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/sql-injection.png","type":"image\/png"}],"author":"security","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"security","Tempo di lettura stimato":"11 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#article","isPartOf":{"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/"},"author":{"name":"security","@id":"https:\/\/securitybriefing.net\/#\/schema\/person\/e99d7bfcfc8ecee5ed34ef3f0416ee81"},"headline":"SQL Injection 101: What is SQLi and How to Prevent Attacks","datePublished":"2022-08-06T22:53:54+00:00","mainEntityOfPage":{"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/"},"wordCount":2130,"publisher":{"@id":"https:\/\/securitybriefing.net\/#organization"},"image":{"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#primaryimage"},"thumbnailUrl":"https:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/sql-injection.png","articleSection":["Security"],"inLanguage":"it-IT"},{"@type":["WebPage","FAQPage"],"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/","url":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/","name":"Che cos'\u00e8 SQLi e come prevenire gli attacchi | securitybriefing","isPartOf":{"@id":"https:\/\/securitybriefing.net\/#website"},"primaryImageOfPage":{"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#primaryimage"},"image":{"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#primaryimage"},"thumbnailUrl":"https:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/sql-injection.png","datePublished":"2022-08-06T22:53:54+00:00","description":"Imparate le basi dell'iniezione SQL. Cos'\u00e8 l'iniezione SQL, come funziona e quali sono i modi per proteggere il vostro sito dagli attacchi.","breadcrumb":{"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#breadcrumb"},"mainEntity":[{"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826159348"},{"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826187832"},{"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826216670"},{"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826245103"},{"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826275267"},{"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826301781"},{"@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826330814"}],"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#primaryimage","url":"https:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/sql-injection.png","contentUrl":"https:\/\/securitybriefing.net\/wp-content\/uploads\/2022\/08\/sql-injection.png","width":558,"height":500,"caption":"sql injection"},{"@type":"BreadcrumbList","@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/securitybriefing.net\/"},{"@type":"ListItem","position":2,"name":"SQL Injection 101: What is SQLi and How to Prevent Attacks"}]},{"@type":"WebSite","@id":"https:\/\/securitybriefing.net\/#website","url":"https:\/\/securitybriefing.net\/","name":"Briefing sulla sicurezza","description":"Read cybersecurity news, online safety guides, cyber threat updates, and use free security tools from Security Briefing.","publisher":{"@id":"https:\/\/securitybriefing.net\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/securitybriefing.net\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/securitybriefing.net\/#organization","name":"Briefing sulla sicurezza","url":"https:\/\/securitybriefing.net\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/securitybriefing.net\/#\/schema\/logo\/image\/","url":"https:\/\/securitybriefing.net\/wp-content\/uploads\/2023\/06\/security-briefing-logo-5.png","contentUrl":"https:\/\/securitybriefing.net\/wp-content\/uploads\/2023\/06\/security-briefing-logo-5.png","width":256,"height":70,"caption":"Security Briefing"},"image":{"@id":"https:\/\/securitybriefing.net\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/securitybriefing.net\/#\/schema\/person\/e99d7bfcfc8ecee5ed34ef3f0416ee81","name":"sicurezza","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/securitybriefing.net\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/f882f35c703c897d1ec76c380b39ceed3f7309182d44a3177612bc192f6c9ddb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f882f35c703c897d1ec76c380b39ceed3f7309182d44a3177612bc192f6c9ddb?s=96&d=mm&r=g","caption":"security"},"description":"admin \u00e8 una redattrice senior per Government Technology. In precedenza ha scritto per PYMNTS e The Bay State Banner e ha conseguito una laurea in scrittura creativa alla Carnegie Mellon. Risiede fuori Boston.","sameAs":["http:\/\/securitybriefing.net"],"url":"https:\/\/securitybriefing.net\/it\/author\/security\/"},{"@type":"Question","@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826159348","position":1,"url":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826159348","name":"Qual \u00e8 l'iniezione SQL pi\u00f9 comune?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"In-band SQL injection is the most common type of SQL injection attack. It occurs when an attacker can use the same communication channel to deliver the payload and gather results.","inLanguage":"it-IT"},"inLanguage":"it-IT"},{"@type":"Question","@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826187832","position":2,"url":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826187832","name":"Qual \u00e8 la migliore difesa da SQL injection?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"The best defense against SQL injection is to use parameterized queries. This type of query uses placeholder values for parameters, which are supplied at a later date. This method allows the database to identify between source code and information.","inLanguage":"it-IT"},"inLanguage":"it-IT"},{"@type":"Question","@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826216670","position":3,"url":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826216670","name":"Come viene rilevata l'iniezione SQL?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"SQL injection can be detected in several ways. One method is to use a web application firewall (WAF). A WAF is a piece of hardware or software that sits between a web application and the internet. It inspects traffic for malicious activity and can block SQL injection attacks.","inLanguage":"it-IT"},"inLanguage":"it-IT"},{"@type":"Question","@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826245103","position":4,"url":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826245103","name":"Che cos'\u00e8 l'iniezione SQL di secondo ordine?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Second-order SQL injection occurs when an attacker can inject a payload that is stored by the web application and then later executed. This type of attack is more difficult to achieve because the attacker must have a way to trigger the execution of the stored payload.","inLanguage":"it-IT"},"inLanguage":"it-IT"},{"@type":"Question","@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826275267","position":5,"url":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826275267","name":"Che cos'\u00e8 la blind SQL injection?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Blind SQL injection is an attack where the attacker does not directly see the results of their payload. Instead, they must use true or false statements to infer information from the database. This type of attack is more challenging to execute but can be just as dangerous as other types of SQL injection.","inLanguage":"it-IT"},"inLanguage":"it-IT"},{"@type":"Question","@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826301781","position":6,"url":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826301781","name":"Che cos'\u00e8 una query impilata?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"A stacked query is a type of SQL injection where the attacker uses multiple queries to extract information from the database. This type of attack is more challenging to execute but can be very dangerous if successful.","inLanguage":"it-IT"},"inLanguage":"it-IT"},{"@type":"Question","@id":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826330814","position":7,"url":"https:\/\/securitybriefing.net\/security\/sql-injection-101-what-is-sqli-and-how-to-prevent-attacks\/#faq-question-1659826330814","name":"Che cos'\u00e8 un'iniezione SQL basata su un errore?","answerCount":1,"acceptedAnswer":{"@type":"Answer","text":"Error-based SQL injection is an attack where the attacker uses database errors to infer information from the database. This attack is more challenging to execute but can be very dangerous if successful.","inLanguage":"it-IT"},"inLanguage":"it-IT"}]}},"_links":{"self":[{"href":"https:\/\/securitybriefing.net\/it\/wp-json\/wp\/v2\/posts\/505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/securitybriefing.net\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/securitybriefing.net\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/securitybriefing.net\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/securitybriefing.net\/it\/wp-json\/wp\/v2\/comments?post=505"}],"version-history":[{"count":0,"href":"https:\/\/securitybriefing.net\/it\/wp-json\/wp\/v2\/posts\/505\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/securitybriefing.net\/it\/wp-json\/wp\/v2\/media\/644"}],"wp:attachment":[{"href":"https:\/\/securitybriefing.net\/it\/wp-json\/wp\/v2\/media?parent=505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/securitybriefing.net\/it\/wp-json\/wp\/v2\/categories?post=505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/securitybriefing.net\/it\/wp-json\/wp\/v2\/tags?post=505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}