Lottando per profilare la query dietro una vulnerabilità SQLi

0

Sono una penna black-box che esamina il sito web di un collega per vulnerabilità comuni (principalmente relative ai primi 10 di OWASP).

Ho trovato una vulnerabilità di SQL injection in una forma poiché l'uso di caratteri speciali in uno dei valori del campo modulo restituisce errori. L'errore specifica che un numero errato di parametri è stato fornito ad alcune funzioni interne: a mio avviso, dato lo scopo del modulo, ci sono alcune query particolarmente complesse.

Sto cercando di ottenere una risposta diversa da questo errore. Ho provato uno strumento del browser per profilare la query sperando che dipingesse un'immagine di ciò che la query sembrava pronta a dimostrare come potesse essere sfruttata, ma non è riuscita a identificare affatto una vulnerabilità.

Come posso ottenere un'immagine più chiara di come appare la query? O è del tutto soggettivo e specifico in questo caso?

Un esempio di risposta che vorrei ottenere è un modo di iniettare SQL che, indipendentemente da dove si trovi, può essere utilizzato per testare la vulnerabilità.

Nota: se necessario, posso semplicemente delineare il fatto che ho trovato un vettore potenziale, ma mi piacerebbe essere in grado di spiegare fino a che punto può essere sfruttato.

    
posta 30.11.2016 - 16:20
fonte

1 risposta

2

I've found a SQL injection vulnerability in a form since the use of special characters in one of the form field's values returns errors.

Questa è un'ipotesi errata. Gli errori potrebbero indicare un'applicazione mal sviluppata che potrebbe includere o meno un'Iniezione SQL. Per dire che hai trovato SQLi in questa fase è prematuro.

The error specifies that an incorrect number of parameters were provided to some internal function.

Consiglio vivamente di cercare il messaggio di errore e di utilizzarlo per impronte digitali dell'applicazione. Se si tratta di un messaggio di errore non elaborato, è possibile scoprire l'app / server web / componente DB che lo genera.

I've tried a browser tool to profile the query hoping it would paint a picture of what the query looked like ready for demonstration of how it can be exploited but it failed to identify a vulnerability at all.

Gli strumenti di SQL Injection sono ora abbastanza maturi. Se lo strumento non trova nulla, probabilmente non è un'iniezione SQL, o è possibile che tu non stia usando correttamente. I payload generati fanno ciò che vuoi che facciano (stanno sondando correttamente il modulo)? Quali risposte mostra lo strumento?

La guida di OWASP è un ottimo punto di partenza per cercare un metodologia di test manuale. A seconda di ciò che osservi, è probabile una sorta di esplorazione "cieca", forse dovresti esaminare da vicino le tecniche di rilevamento UNION, booleano o basate sul tempo. In alternativa, lancia sqlmap o havij su di esso, se questo rientra nello scopo del pentest.

    
risposta data 30.11.2016 - 23:00
fonte

Leggi altre domande sui tag