Recentemente abbiamo riscontrato un problema sul nostro sito in cui qualcuno ha tentato l'iniezione SQL tramite un cookie (lo chiameremo lastID
). NOC era in delirio e arrabbiato per come il cookie come vettore di attacco potesse essere ignorato. Hanno uno sviluppatore che crea una classe per la gestione dei cookie che sanificherà lastID
(e alla fine altri cookie) per verificare che sia numerico.
Tuttavia, penso che questo sia sbagliato. Il problema non era che lastID
non fosse numerico, era che la query che lo utilizzava era vulnerabile all'iniezione. Sono responsabile della revisione delle modifiche al codice e desidero sottolineare il fatto che forzare lastID
ad essere numerico non è particolarmente utile e forse addirittura indesiderabile.
Esiste un termine o un concetto che descrive la disinfezione al momento giusto (ovvero la disinfezione al tempo di interrogazione piuttosto che al momento del recupero dei cookie) o "eccessivamente igienizzante" (ad es. forzare lastID
ad essere numerico) che posso usare per descrivere cosa sta succedendo / dovrebbe accadere nella mia recensione? La seconda parte della legge di Postel sembra applicarsi qui nella mia mente:
Be ... liberal in what you accept