Sqlmap: filtro di sicurezza del sito Web di esclusione parole riservate di SQL

3

Sto usando sqlmap per ottenere il DB di un sito Web e ho scoperto che il sito è vulnerabile al booleano basato sul tempo; ma l'obiettivo mostra errori SQL, il che mi ha fatto pensare che sarebbe stato un errore di iniezione.

Ero curioso, quindi ho attivato l'opzione --parse-errors che mostrava che alcune parole riservate SQL venivano filtrate; qualcosa come:

AND became A_N_D, SELECT became S_E_LE_C_T ...

e così via ...

C'è un modo per aggirare questo problema con sqlmap? Qualche opzione di manomissione?

    
posta NBA YoungCode 11.02.2017 - 04:04
fonte

2 risposte

2

Ho avuto una situazione simile con un test, l'applicationn utilizzato server SQL, c'era un filtro WAF che filtrava l'input dei dati, quindi non potevo usare le parole riservate, perché il WAF stava bloccando le parole riservate. La soluzione era la doppia codifica, basta applicare la doppia codifica a una lettera, ad esempio, si vuole iniettare AND , se si codifica la lettera A usando la codifica URL, si avrà qualcosa del genere: %41ND ; il WAF interpreterà quei caratteri come A , quindi non funzionerà, quindi dovrai applicare una seconda codifica su % , quindi avrai qualcosa di simile a questo: %2541ND ; il WAF interpreterà %25 come % e il database riceverà %41ND , eseguirà un processo di canonicalizzazione ed eseguirà il comando AND . Ho sfruttato questa iniezione SQL manualmente, non sono sicuro che se SQLmap ha questa tecnica di bypass, ti consiglio di rivedere le opzioni di manomissione, forse c'è qualcosa di simile.

Buona fortuna.

    
risposta data 12.02.2017 - 02:33
fonte
1

Hmmmnnn .... Suona come qualcosa di bypassabile. Forse puoi provare cose del genere:

replace ('S_E_LE_C_T', '_', '')

replace ('A_N_D', '_', '')

È un'ipotesi selvaggia ... ma forse potrebbe funzionare. Il meglio è provare! quindi devi adattare questa idea in sqlmap.

Ho visto alcune pagine che parlano della manomissione di sqlmap . Forse nonrecursivereplacement manomissione potrebbe funzionare per te.

Buona fortuna

    
risposta data 11.02.2017 - 10:19
fonte

Leggi altre domande sui tag