attacchi di iniezione - terminologia

2

Ho una domanda relativa ad attacchi di iniezione come iniezioni SQL e iniezioni di comandi.

Ho una buona conoscenza di come vengono eseguiti questi attacchi, ma mi piacerebbe sapere da dove viene il termine injection .

È perché l'utente malintenzionato inietta (inserisce) codice / comandi dannosi nei dati inviati all'applicazione?

    
posta othman 04.11.2016 - 23:09
fonte

2 risposte

2

Sì, è un'iniezione perché stai inserendo il tuo codice nel codice SQL esistente.

Ad esempio. Un modo comune per registrare un utente utilizzando php e SQL è simile a questo:

$sql = "SELECT * FROM users WHERE username = '" . $POST['username'] . "' AND password = '" . $POST['password'] . "';"

Le variabili $ POST ['username'] e $ POST ['password'] che l'utente inserisce nei campi di login. Se l'utente ha inserito quanto segue.

' or 1 == 1 ---

L'SQL risultante che viene eseguito ha il seguente aspetto:

SELECT * FROM users WHERE username = '' or 1 == 1 --- AND password = '';

Si noti che tutto ciò che segue "---" è un commento e ignorato. Quindi SQL cerca di trovare un nome utente che corrisponda a null o 1 == 1. Poiché 1 è sempre uguale a 1, SQL restituirà true e registrerà l'utente.

Si chiama iniezione perché l'utente sta iniettando il proprio codice nel codice scritto dallo sviluppatore.

    
risposta data 03.10.2017 - 18:01
fonte
0

È solo una parola. L'etimologia della parola riguarda qualcosa che viene "introdotto" che si adatta allo scopo.

    
risposta data 07.11.2016 - 08:33
fonte

Leggi altre domande sui tag