Dirò che dipende da cosa farai in seguito con la variabile ID. Se il codice in seguito converte l'esadecimale in una stringa e quindi genera query con esso, la risposta diventa "sì"
Esempio:
Costruisco un sito di e-commerce che guarda la cronologia degli acquisti in base all'ID del cliente ... Essendo un noob, mi è venuta un'idea intelligente di usare il tuo indirizzo e-mail per generare il tuo ID semplicemente convertendolo in esadecimale.
- la mia email =
[email protected]
- il mio ID sarebbe quindi =
637573746f6d6572406578616d706c652e636f6d
Sembra un ID "abbastanza sicuro" e univoco, quindi mi sento davvero bene su quello che ho fatto.
Ora l'iniezione:
Qualcuno capisce che l'ID utente è semplicemente l'equivalente esadecimale dell'indirizzo email e suppone che io possa convertirlo di nuovo in testo e usare quel risultato in una query
link
Se io, lo sviluppatore, controlli per assicurarmi che l'ID sia numerico ... quindi esadecimale per l'ID ... quindi usalo in una query .... Ho appena autorizzato un'iniezione SQL
References:
Ecco una domanda simile riguardante le iniezioni SQL utilizzando solo caratteri alfanumerici: link
Ecco un'altra discussione che discute di sql injection tramite hex: link
... Ovviamente la soluzione giusta è usare meccanismi di prevenzione "reali" come le query parametrizzate, ma questa è certamente una domanda interessante.