Qual è la differenza tra queste query SQLi?

0

Stavo eseguendo un Web Pentest e ho trovato questo quando stavo facendo sqli in un campo di ricerca:

' or  1=1--     returns 15 results
' or '1'='1     returns 30 different results
' or '1'='1--   returns 0 results

Quale potrebbe essere la causa? Voglio dire, qual è la differenza tra quelle domande?

    
posta A.Vadillo 25.10.2017 - 15:51
fonte

1 risposta

0

Il motivo dei diversi risultati è che la prima iniezione interrompe il resto della query tramite il commento ( -- ).

L'ultima iniezione probabilmente non restituisce nulla perché non è valida e causa un errore (a causa della percentuale non chiusa ' ).

La query in cui ti stai iniettando probabilmente ha una struttura come questa:

... WHERE foo='your input' OR bar='something else'

Non deve essere esattamente così, ma sappiamo che ci deve essere qualcosa dopo il punto in cui stai iniettando.

Naturalmente, teoricamente potrebbe anche essere che la ricerca restituisca legittimamente quei risultati e non vi sia alcuna iniezione (in questo caso è improbabile). Dovresti provare anche altre iniezioni, come ' and '1'='1 , ' and sleep(10)-- - , in realtà estrarre dati, ecc.

    
risposta data 25.10.2017 - 16:16
fonte

Leggi altre domande sui tag