Ho una tabella in un database (Mysql) che contiene un campo che contiene stringhe sql su di esso. Intendo query complete come testo (selezionare sempre le istruzioni). Modificare una di queste query è un "dolore nel culo" perché è necessario prima connettersi a una VPN, quindi accedere al database e infine modificare il campo con alcuni software come Mysql Workbench o qualsiasi altro.
Sto sviluppando in un sito Web un pannello di controllo accessibile solo dagli amministratori del sito. In quel pannello di controllo sto pensando di creare un modulo per modificare quel campo sql. Può aiutare gli amministratori a semplificare la vita.
Di solito sono molto consapevole di fare attenzione con le iniezioni SQL in tutte le mie forme, richieste GET e POST, ecc. So che questo potrebbe essere pericoloso anche se si tratta di un pannello limitato solo per gli amministratori.
La prima domanda è : se alla fine decido di crearla e un utente amministratore cade sotto il controllo di un hacker, quanto sarebbe male per me? Esiste la possibilità di "controllare" le istruzioni SQL da memorizzare per consentire solo le istruzioni selezionate?
So che alcune tecniche di base come sostituire alcune parole riservate per nulla, come DROP per esempio, sono inutili ... gli hacker possono usare trucchi semplici come DRDROPOP
che dopo la sostituzione ottiene comunque DROP
e quel tipo di trucchi sporchi ... o forse possono ofuscante i sql usando Unicode, ecc ...
Seconda domanda : c'è qualche buona guida per cercare di controllare e filtrare il più possibile i "trucchi" di sql o è inutile perché SEMPRE c'è un metodo per penetrare l'avvio di altri "non-select" affermazioni?