La Guida al test OWASP (più precisamente: il Capitolo 4 al suo interno) fornisce una metodologia per le applicazioni web di Pentest. Attualmente è in fase di revisione, la versione 5 è prevista per l'inizio del 2018. Una delle sezioni della metodologia consiste nel testare vari punti deboli riguardanti la gestione / convalida dell'input (INPVAL). In particolare, INPVAL-005 è test per l'iniezione SQL e INPVAL-007 è < a href="https://www.owasp.org/index.php/Testing_for_ORM_Injection_(OTG-INPVAL-007)"> test per l'iniezione ORM . Nell'iniezione Sommario in ORM dice
ORM Injection is an attack using SQL Injection against an ORM generated data access object model. From the point of view of a tester, this attack is virtually identical to a SQL Injection attack. However, the injection vulnerability exists in code generated by the ORM tool.
Mi chiedo, è possibile distinguere tra loro, cioè è possibile non avere trovato per SQLi ma avere una ricerca per ORMi? Ha senso avere due distinti elementi di test, o non dovrebbero essere uniti in uno solo?
NB. L'iniezione SQL potrebbe anche essere scambiata per l'iniezione XPath: in principio, xyz' OR 'x'='x
potrebbe funzionare in entrambi i casi. Tuttavia, XPath non ha commenti (quindi qualcosa come xyz' or 1<2 --
non funziona per l'iniezione XPath) e XPath non ha la funzione sleep
(che ha SQL). Quindi qui è possibile distinguere abbastanza chiaramente. Esiste una caratteristica distintiva simile in modo che si possa distinguere tra l'iniezione di ORM e SQL?