Riguardo alle seguenti vulnerabilità OWASP:
-
Riferimenti agli oggetti diretti non sicuri . Con ciò intendo lasciare che qualcuno veda
/account/123/not-theirs
(questo potrebbe essere il riferimento sbagliato che sto usando sopra).
Possono essere risolti utilizzando un database che supporti la sicurezza a livello di riga e creando account utente reali nel database per ciascun utente e facendoli accedere al database come se stessi (tramite il server Web)?
Qualche problema in questo approccio di essere a conoscenza di (oltre a uccidere il pool di connessioni)?
Modifica
Ovviamente è necessario un qualche tipo di controllo di accesso ai record. In che modo lo spostamento del controllo degli accessi dei record dal livello Web al livello del database peggiora, quando è più centralizzato? (I database tendono a vivere più a lungo delle applicazioni e talvolta i database hanno più di un'applicazione.)
L'autenticazione utente (archiviazione) avviene in un sistema diverso.
Gli utenti non sono superutenti e avrebbero i privilegi minimi richiesti (per questo intendo che non possono eseguire shell di comandi in SQL o altre sciocchezze).
Gli utenti non avrebbero accesso diretto a db, solo accesso attraverso un'applicazione web.
Utilizzerebbe i ruoli gerarchici.
Utilizzerebbero comunque query parametrizzate, tuttavia non tutte le query sono parametrizzabili, gli sviluppatori commettono errori e sistemi come Wordpress hanno dimostrato che i plugin possono farti ottenere.