Skip to content

SQL injection: una panoramica delle criticità nel contesto dell'accesso remoto all'informazione

Scenari d’attacco

Compilazione e interpretazione
Per meglio assimilare i concetti che saranno esposti in seguito, è opportuno affrontare una breve digressione sulle due grandi famiglie in cui si possono suddividere i linguaggi di programmazione: linguaggi compilati e linguaggi interpretati.
Le istruzioni di un programma sono solitamente scritte in linguaggi di alto livello e devono essere tradotte in codice macchina per essere eseguite. I due differenti metodi per affrontare questa operazione sono la compilazione e l’interpretazione.
Il codice sorgente scritto in un linguaggio compilato è tradotto in forma eseguibile con l’ausilio di un programma detto compilatore. Il codice eseguibile prodotto è scritto in un determinato codice macchina per una determinata piattaforma operativa (per esempio sistema operativo Windows su hardware Intel). La traduzione è fatta una volta per tutte, dopodiché non c’è più bisogno del compilatore per l’esecuzione codice. D’altro canto, se si modifica il codice sorgente, si è costretti a ricompilare l’intero programma per rendere effettive le modifiche. Esempi di linguaggi compilati sono: C, C++, Fortran, Go, Haskell, Cobol, Pascal. La compilazione consente una più rapida esecuzione del codice rispetto alla interpretazione, ma risulta meno flessibile: bisogna ricompilare interamente il codice sorgente a ogni modifica.

Un programma scritto in un linguaggio interpretato si appoggia invece a un costrutto software detto interprete, per tradurre man mano le istruzioni del programma. Il codice sorgente è tradotto ed eseguito direttamente durante l’esecuzione, a runtime, da un ambiente che lo interpreta. Ogni esecuzione del codice prevede una nuova traduzione. A differenza di quel che avviene nella compilazione, dove tutto il codice viene tradotto, sono interpretate solo le porzioni di codice da eseguire. Gli svantaggi di questo approccio, soprattutto in termini prestazionali, sono bilanciati dall’inestimabile vantaggio di emancipare il codice da una determinata piattaforma operativa. Infatti, interpreti diversi dello stesso linguaggio possono tradurre il medesimo codice sorgente per altrettante piattaforme operative. Un codice Javascript interpretato da un web browser costituisce un tipico esempio di interpretazione: lo script viene eseguito indifferentemente su Windows, Linux, Mac, ecc. Altri esempi di linguaggi interpretati sono: PHP, SQL, Ruby, Basic.

Per completezza di esp posizione occorre infine accennare all’e esistenza di un approccio ibrido tra com mpilazione e interpretazione. Apparteng gono a questa categoria linguaggi quali LISP, Java, Python, C#, F#, Scala, Erlan ng e Clojure.
Nel caso che si vuole prendere in esame in questo elaborato, uno script SQL viene tipicamente interpretato, ovvero tradotto in tempo reale al momento dell’esecuzione. Questo consente a un utente malevolo di perpetrare una SQLI, iniettando porzioni di codice SQL nello script durante le fasi di input; per esempio al momento di fornire le credenziali di accesso. L’interprete SQL tradurrà queste istruzioni e le eseguirà come se fossero parti di codice dello script originario. Si osservi che l’iniezione di codice risulterebbe molto più difficoltosa qualora lo script fosse compilato anziché interpretato.

Questo brano è tratto dalla tesi:

SQL injection: una panoramica delle criticità nel contesto dell'accesso remoto all'informazione

CONSULTA INTEGRALMENTE QUESTA TESI

La consultazione è esclusivamente in formato digitale .PDF

Acquista

Informazioni tesi

  Autore: Christian Salotto
  Tipo: Laurea I ciclo (triennale)
  Anno: 2017-18
  Università: Università Telematica "E-Campus"
  Facoltà: Ingegneria
  Corso: Ingegneria dell'informazione
  Relatore: Luigi Sarti
  Lingua: Italiano
  Num. pagine: 154

FAQ

Per consultare la tesi è necessario essere registrati e acquistare la consultazione integrale del file, al costo di 29,89€.
Il pagamento può essere effettuato tramite carta di credito/carta prepagata, PayPal, bonifico bancario.
Confermato il pagamento si potrà consultare i file esclusivamente in formato .PDF accedendo alla propria Home Personale. Si potrà quindi procedere a salvare o stampare il file.
Maggiori informazioni
Ingiustamente snobbata durante le ricerche bibliografiche, una tesi di laurea si rivela decisamente utile:
  • perché affronta un singolo argomento in modo sintetico e specifico come altri testi non fanno;
  • perché è un lavoro originale che si basa su una ricerca bibliografica accurata;
  • perché, a differenza di altri materiali che puoi reperire online, una tesi di laurea è stata verificata da un docente universitario e dalla commissione in sede d'esame. La nostra redazione inoltre controlla prima della pubblicazione la completezza dei materiali e, dal 2009, anche l'originalità della tesi attraverso il software antiplagio Compilatio.net.
  • L'utilizzo della consultazione integrale della tesi da parte dell'Utente che ne acquista il diritto è da considerarsi esclusivamente privato.
  • Nel caso in cui l’utente che consulta la tesi volesse citarne alcune parti, dovrà inserire correttamente la fonte, come si cita un qualsiasi altro testo di riferimento bibliografico.
  • L'Utente è l'unico ed esclusivo responsabile del materiale di cui acquista il diritto alla consultazione. Si impegna a non divulgare a mezzo stampa, editoria in genere, televisione, radio, Internet e/o qualsiasi altro mezzo divulgativo esistente o che venisse inventato, il contenuto della tesi che consulta o stralci della medesima. Verrà perseguito legalmente nel caso di riproduzione totale e/o parziale su qualsiasi mezzo e/o su qualsiasi supporto, nel caso di divulgazione nonché nel caso di ricavo economico derivante dallo sfruttamento del diritto acquisito.
L'obiettivo di Tesionline è quello di rendere accessibile a una platea il più possibile vasta il patrimonio di cultura e conoscenza contenuto nelle tesi.
Per raggiungerlo, è fondamentale superare la barriera rappresentata dalla lingua. Ecco perché cerchiamo persone disponibili ad effettuare la traduzione delle tesi pubblicate nel nostro sito.

Scopri come funziona »

DUBBI? Contattaci

Contatta la redazione a
[email protected]

Ci trovi su Skype (redazione_tesi)
dalle 9:00 alle 13:00

Oppure vieni a trovarci su

Parole chiave

sql injection
threat
sqli
sqlia
database attack
iniezione sql
owasp
akamai
pen testing
penetration testing

Tesi correlate


Non hai trovato quello che cercavi?


Abbiamo più di 45.000 Tesi di Laurea: cerca nel nostro database

Oppure consulta la sezione dedicata ad appunti universitari selezionati e pubblicati dalla nostra redazione

Ottimizza la tua ricerca:

  • individua con precisione le parole chiave specifiche della tua ricerca
  • elimina i termini non significativi (aggettivi, articoli, avverbi...)
  • se non hai risultati amplia la ricerca con termini via via più generici (ad esempio da "anziano oncologico" a "paziente oncologico")
  • utilizza la ricerca avanzata
  • utilizza gli operatori booleani (and, or, "")

Idee per la tesi?

Scopri le migliori tesi scelte da noi sugli argomenti recenti


Come si scrive una tesi di laurea?


A quale cattedra chiedere la tesi? Quale sarà il docente più disponibile? Quale l'argomento più interessante per me? ...e quale quello più interessante per il mondo del lavoro?

Scarica gratuitamente la nostra guida "Come si scrive una tesi di laurea" e iscriviti alla newsletter per ricevere consigli e materiale utile.


La tesi l'ho già scritta,
ora cosa ne faccio?


La tua tesi ti ha aiutato ad ottenere quel sudato titolo di studio, ma può darti molto di più: ti differenzia dai tuoi colleghi universitari, mostra i tuoi interessi ed è un lavoro di ricerca unico, che può essere utile anche ad altri.

Il nostro consiglio è di non sprecare tutto questo lavoro:

È ora di pubblicare la tesi