<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Sql on Ethical Hacking | Pentest e Sicurezza Informatica | Hackita</title><link>https://hackita.it/tags/sql/</link><description>Recent content in Sql on Ethical Hacking | Pentest e Sicurezza Informatica | Hackita</description><generator>Hugo</generator><language>it</language><lastBuildDate>Wed, 04 Mar 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hackita.it/tags/sql/index.xml" rel="self" type="application/rss+xml"/><item><title>SQL Injection su API REST e GraphQL: JSON Body, Header Injection e SQLMap (Guida 2026)</title><link>https://hackita.it/articoli/sql-injection-api-rest/</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate><guid>https://hackita.it/articoli/sql-injection-api-rest/</guid><description>&lt;h2
 id="cosè-la-sql-injection-su-api-rest" class="group/anchor-heading"&gt;
 Cos&amp;rsquo;è la SQL Injection su API REST
 &lt;a href="#cos%c3%a8-la-sql-injection-su-api-rest" class="text-inherit opacity-0 group-hover/anchor-heading:opacity-100 decoration-transparent"&gt;#&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;La SQL Injection su API REST avviene quando i parametri inviati tramite JSON body, header HTTP o query GraphQL vengono inseriti in una query SQL senza parametrizzazione. A differenza delle SQLi tradizionali su parametri GET/POST, l&amp;rsquo;injection avviene spesso nel body JSON delle API moderne o nei parametri di filtro delle applicazioni SPA.&lt;/p&gt;
&lt;h1
 id="sql-injection-su-api-rest--il-nuovo-fronte-della-sqli" class="group/anchor-heading"&gt;
 SQL Injection su API REST — Il Nuovo Fronte Della SQLi
 &lt;a href="#sql-injection-su-api-rest--il-nuovo-fronte-della-sqli" class="text-inherit opacity-0 group-hover/anchor-heading:opacity-100 decoration-transparent"&gt;#&lt;/a&gt;
&lt;/h1&gt;&lt;p&gt;Nel 2026 la maggior parte delle SQLi che trovo non è nel classico &lt;code&gt;?id=1&lt;/code&gt; di una pagina PHP. È nel &lt;strong&gt;JSON body delle API REST&lt;/strong&gt;, nei &lt;strong&gt;parametri GraphQL&lt;/strong&gt;, negli &lt;strong&gt;header custom&lt;/strong&gt;, nei &lt;strong&gt;filtri di ricerca&lt;/strong&gt; delle Single Page Application. Il frontend React/Vue/Angular parla con un backend REST → il body è JSON → il WAF spesso non lo parsa come parsa i parametri GET/POST tradizionali → il payload SQLi passa.&lt;/p&gt;</description></item><item><title>SQL Injection su ORM: Django, Laravel, Hibernate e Sequelize</title><link>https://hackita.it/articoli/sql-injection-orm/</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate><guid>https://hackita.it/articoli/sql-injection-orm/</guid><description>&lt;h1
 id="sql-injection-su-orm--uso-un-framework-sono-protetto-è-la-bugia-più-pericolosa-del-2026" class="group/anchor-heading"&gt;
 SQL Injection su ORM — &amp;ldquo;Uso un Framework, Sono Protetto&amp;rdquo; È la Bugia Più Pericolosa del 2026
 &lt;a href="#sql-injection-su-orm--uso-un-framework-sono-protetto-%c3%a8-la-bugia-pi%c3%b9-pericolosa-del-2026" class="text-inherit opacity-0 group-hover/anchor-heading:opacity-100 decoration-transparent"&gt;#&lt;/a&gt;
&lt;/h1&gt;&lt;p&gt;&amp;ldquo;Non possiamo avere SQL Injection, usiamo Django ORM.&amp;rdquo; L&amp;rsquo;ho sentito dire dal CTO di un&amp;rsquo;azienda che ho compromesso in 40 minuti. La verità: gli ORM (Object-Relational Mapping) come Django ORM, Laravel Eloquent, Hibernate, Sequelize e SQLAlchemy &lt;strong&gt;proteggono dalla SQLi base&lt;/strong&gt; — il &lt;code&gt;.filter(id=user_input)&lt;/code&gt; è parametrizzato. Ma nel momento in cui lo sviluppatore usa un &lt;strong&gt;raw query&lt;/strong&gt;, un &lt;strong&gt;extra()&lt;/strong&gt;, un &lt;strong&gt;literal()&lt;/strong&gt;, un &lt;strong&gt;query builder con concatenazione stringa&lt;/strong&gt; o un &lt;strong&gt;order_by con input non validato&lt;/strong&gt;, l&amp;rsquo;ORM non protegge più niente.&lt;/p&gt;</description></item><item><title>SQL Injection Time-Based: Come Estrarre Dati Senza Output</title><link>https://hackita.it/articoli/time-based-sql-injection/</link><pubDate>Wed, 04 Mar 2026 00:00:00 +0000</pubDate><guid>https://hackita.it/articoli/time-based-sql-injection/</guid><description>&lt;h1
 id="time-based-sql-injection-guida-completa-allexploitation-con-sleep-e-pg_sleep-2026" class="group/anchor-heading"&gt;
 Time-Based SQL Injection: Guida Completa all’Exploitation con SLEEP e pg_sleep (2026)
 &lt;a href="#time-based-sql-injection-guida-completa-allexploitation-con-sleep-e-pg_sleep-2026" class="text-inherit opacity-0 group-hover/anchor-heading:opacity-100 decoration-transparent"&gt;#&lt;/a&gt;
&lt;/h1&gt;&lt;h2
 id="cosè-la-time-based-sql-injection-in-breve" class="group/anchor-heading"&gt;
 Cos&amp;rsquo;è la Time-Based SQL Injection (In Breve)
 &lt;a href="#cos%c3%a8-la-time-based-sql-injection-in-breve" class="text-inherit opacity-0 group-hover/anchor-heading:opacity-100 decoration-transparent"&gt;#&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;La Time-Based SQL Injection è una tecnica di &lt;a href="https://hackita.it/articoli/blind-sql-injection"&gt;Blind SQL Injection&lt;/a&gt; che sfrutta funzioni di delay come &lt;code&gt;SLEEP()&lt;/code&gt;, &lt;code&gt;WAITFOR DELAY&lt;/code&gt; o &lt;code&gt;pg_sleep()&lt;/code&gt; per estrarre dati quando l’applicazione non mostra errori né differenze visibili nella risposta.&lt;/p&gt;
&lt;p&gt;Fa parte delle tecniche descritte nella &lt;a href="https://hackita.it/articoli/sql-injection"&gt;Guida Completa alla SQL Injection&lt;/a&gt;, insieme alla SQL Injection classica e alla Blind SQL Injection.&lt;/p&gt;</description></item><item><title>Blind SQL Injection: Extraction Boolean-Based con SQLMap (Guida 2026)</title><link>https://hackita.it/articoli/blind-sql-injection/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><guid>https://hackita.it/articoli/blind-sql-injection/</guid><description>&lt;h1
 id="blind-sql-injection--quando-il-database-non-parla-ma-annuisce" class="group/anchor-heading"&gt;
 Blind SQL Injection — Quando il Database Non Parla, Ma Annuisce
 &lt;a href="#blind-sql-injection--quando-il-database-non-parla-ma-annuisce" class="text-inherit opacity-0 group-hover/anchor-heading:opacity-100 decoration-transparent"&gt;#&lt;/a&gt;
&lt;/h1&gt;&lt;p&gt;La Blind SQL Injection è la forma più comune di SQLi nel 2026: l&amp;rsquo;applicazione &lt;strong&gt;non mostra i risultati della query né gli errori del database&lt;/strong&gt; nella risposta. Ma c&amp;rsquo;è una differenza — seppur minima — tra una condizione vera e una falsa: una pagina diversa, un status code diverso, un JSON con risultati vs un JSON vuoto, un redirect vs nessun redirect. Questa differenza binaria (sì/no, true/false) è sufficiente per estrarre l&amp;rsquo;intero database, un bit alla volta. È come giocare a &amp;ldquo;indovina chi&amp;rdquo; con il database: &amp;ldquo;il primo carattere della password è &amp;lsquo;a&amp;rsquo;?&amp;rdquo; → sì → &amp;ldquo;il secondo è &amp;lsquo;b&amp;rsquo;?&amp;rdquo; → no → &amp;ldquo;è &amp;lsquo;c&amp;rsquo;?&amp;rdquo; → sì. Lento ma inesorabile.&lt;/p&gt;</description></item><item><title>SQL Injection Classica: UNION SELECT ed Error-Based (Guida Operativa 2026)</title><link>https://hackita.it/articoli/sql-injection-classica/</link><pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate><guid>https://hackita.it/articoli/sql-injection-classica/</guid><description>&lt;h1
 id="sql-injection-classica-in-band--i-dati-escono-direttamente-nella-response" class="group/anchor-heading"&gt;
 SQL Injection Classica (In-Band) — I Dati Escono Direttamente Nella Response
 &lt;a href="#sql-injection-classica-in-band--i-dati-escono-direttamente-nella-response" class="text-inherit opacity-0 group-hover/anchor-heading:opacity-100 decoration-transparent"&gt;#&lt;/a&gt;
&lt;/h1&gt;&lt;p&gt;La SQL Injection classica (In-Band) è il tipo più diretto: inietti SQL, i dati estratti appaiono &lt;strong&gt;direttamente nella response HTTP&lt;/strong&gt;. Non serve misurare tempi, non serve indovinare character by character — il database risponde con i dati in chiaro nella pagina o nell&amp;rsquo;API response. Due varianti: &lt;strong&gt;Error-Based&lt;/strong&gt; (i dati escono nei messaggi di errore) e &lt;strong&gt;UNION-Based&lt;/strong&gt; (i dati escono nei risultati della query originale). È il primo tipo di SQLi da testare perché è il più veloce da sfruttare.&lt;/p&gt;</description></item></channel></rss>