Un exploit di 0 giorni è una vulnerabilità sconosciuta al pubblico e più particolare, i programmatori di una particolare applicazione.
Non vuoi confonderlo con la cattiva programmazione. Se qualcuno ha creato un pulsante che diceva "Fai clic qui per l'accesso di amministratore" e garantisce l'accesso come amministratore, questa non sarebbe una vulnerabilità di 0 giorni.
La maggior parte dei programmatori sarebbe d'accordo sul fatto che avere questo pulsante sarebbe sbagliato e potrebbe dire al programmatore originale le implicazioni del proprio codice.
Supponiamo ipoteticamente che tutti i programmatori credano che questo pulsante sia a posto. Ovviamente sappiamo che questa è una vulnerabilità ora, ma non lo fanno al momento. Ora molti programmatori iniziano a includere questo pulsante con il loro programma. Un giorno qualcuno potrebbe scoprirlo e fare clic sul pulsante e ottenere istantaneamente l'accesso all'amministratore. Questo sarebbe considerato un di 0 giorni perché nessun altro lo sapeva.
Mesi dopo, quando viene scoperto questo pulsante, alla fine verrà applicato il patch. Se i programmatori includono ancora questo pulsante nei loro programmi, non è uno 0 giorni perché non soddisfa più i criteri per l'exploit di 0 giorni perché è noto .
Nell'esempio delle domande, Apache ha un difetto noto, quindi questo non sarebbe un exploit di 0 giorni. È noto al pubblico.
È già noto che le vulnerabilità SQL esistono da una codifica errata e senza una corretta escaping o dall'assenza di query parametrizzate. Tuttavia, se hai trovato una vulnerabilità SQL che consentiva l'esecuzione di istruzioni indesiderate che non sono state risolte prima, sarebbe una scoperta.