Riconosce il sito vulnerabile per l'iniezione SQL

1

Anche se capisco il concetto di un'iniezione SQL e ho fatto degli exploit semplici (semplici siti di hacking e roba) mi chiedo se uno dei siti gestiti dal mio datore di lavoro sia vulnerabile.

A differenza della mia precedente esperienza (relativa strettamente ai moduli aperti per l'iniezione) sembra che il sito stia inviando istruzioni SQL tramite l'url. Quando si modifica l'URL di una pagina (che si trova sotto forma di collegamento ) sostituendo il = 10 con = * per esempio ottengo l'output dell'errore nella pagina:

Error in SELECT * FROM thefaq WHERE 1  AND thefaq.site=1  AND  thefaq.id=* : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '*' at line 1

Error in    SELECT * FROM sitecontent WHERE

etc etc, l'errore va avanti un bel po '.

Chiaramente, le istruzioni SQL vengono inviate tramite l'URL, ma questo rende il sito vulnerabile per definizione, cioè è possibile che si verifichi una convalida dell'input che rimuove qualsiasi istruzione SQL realmente dannosa dall'URL prima di essere eseguita?

Per quanto posso dire, se le dichiarazioni SQL processess dell'URL sono dovute a qualcosa, è vulnerabile, ma voglio essere sicuro di questo prima di rendermi ridicolo quando ne faccio rapporto al mio datore di lavoro.

---- edit ----

Citato questo al manager appropriato che non sembrava particolarmente stressato al riguardo. Spiegando che questa vulnerabilità potrebbe portare a un deturpamento o peggio: le informazioni sugli utenti e le possibili password che vengono esposte (supponendo che siano decise con l'hashing probabilmente sono un pio desiderio) non lo impressionano. Il sito Web non è una priorità (né sta deviando alcun budget per risolvere il problema, suppongo).

Thx per le risposte!

    
posta user3244085 26.02.2014 - 12:40
fonte

1 risposta

2

Il fatto che sia possibile introdurre parametri nell'URL non è di per sé una vulnerabilità. (Ad esempio, amo imdb.com per la possibilità di controllare con quei parametri)

Il fatto che l'errore sql venga emesso all'utente, E il fatto che la query sia effettivamente eseguita contro il database mostra che il sito potrebbe essere vulnerabile a SQL injection .

Questa semplice affermazione è sufficiente per mostrare al tuo superiore che qualcosa deve essere fatto. Per un miglior effetto potresti voler mostrare un caso di exploit completo in cui esegui con successo alcune query che non dovresti.

    
risposta data 26.02.2014 - 12:54
fonte

Leggi altre domande sui tag