Sommario:
Definizione - Cosa significa Iniezione di codice?
L'iniezione di codice è l'iniezione dannosa o l'introduzione di codice in un'applicazione. Il codice introdotto o iniettato è in grado di compromettere l'integrità del database e / o compromettere le proprietà della privacy, la sicurezza e persino la correttezza dei dati. Può anche rubare dati e / o bypassare il controllo di accesso e autenticazione. Gli attacchi di iniezione di codice possono affliggere le applicazioni che dipendono dall'input dell'utente per l'esecuzione.Techopedia spiega l'iniezione di codice
Esistono quattro tipi principali di attacchi di iniezione di codice:
- SQL Injection
- Iniezione di script
- Iniezione Shell
- Valutazione dinamica
SQL injection è una modalità di attacco che viene utilizzata per corrompere una query di database legittima per fornire dati falsi. L'iniezione di script è un attacco in cui l'attaccante fornisce codice di programmazione al lato server del motore di scripting. Gli attacchi di iniezione shell, noti anche come attacchi di comandi del sistema operativo, manipolano le applicazioni utilizzate per formulare comandi per il sistema operativo. In un attacco di valutazione dinamica, un codice arbitrario sostituisce l'input standard, con il risultato che il primo viene eseguito dall'applicazione. La differenza tra iniezione di codice e iniezione di comando, un'altra forma di attacco, è la limitazione della funzionalità del codice iniettato per l'utente malintenzionato.
Le vulnerabilità legate all'iniezione di codice vanno da quelle facili a quelle difficili da trovare. Molte soluzioni sono state sviluppate per contrastare questi tipi di attacchi di iniezione di codice, sia per il dominio dell'applicazione che dell'architettura. Alcuni esempi includono la convalida dell'input, la parametrizzazione, l'impostazione dei privilegi per diverse azioni, l'aggiunta di un ulteriore livello di protezione e altri.