Iniezione SQL: inserisci i dati dalla richiesta Ottieni

3

Sto utilizzando l'app web vulnerabile mutillidae .

Esiste una pagina Web in cui è possibile visualizzare le informazioni da un profilo, ma è prima necessario fornire un utente e una password. Dopo aver fatto clic su invia, lo invia a un database mysql con questo URL:

http//192.168.x.x/mutillidae/index.php
 ?page=user-info.php&username=the_userd&password=the_pass&user-info-php-submit-button=View+Account+Details

So che la tabella è accounts e le colonne sono: cid, username, password, mysignature, is_admin .

Questa schermata mostra gli account della tabella: link

Desidero poter aggiungere un nuovo utente al database (account tabella)

Ho provato con questi URL:

http//192.168.x.x/mutillidae/index.php
 ?page=user-info.php&username=d"union insert into accounts ("cid","username","password","mysignature","is_admin") values ("18","bob1", "bob1","mysign","FALSE");--&password=d&user-info-php-submit-button=View+Account+Details 

http//192.168.x.x/mutillidae/index.php
 ?page=user-info.php&username=d";insert into accounts ("cid","username","password","mysignature","is_admin") values (18,"bob1", "bob1","mysign",FALSE);--&password=d&user-info-php-submit-button=View+Account+Details

Se può aiutare, ecco il pastebin della pagina vulnerabile (codice sorgente php): link con un campione:

            //Accept data from either GET or POST to make this target soft for SQLMAP
            $lUsername = $_REQUEST["username"];
            $lPassword = $_REQUEST["password"];

            $LogHandler->writeToLog($conn, "Recieved request to display user information for: " . $lUsername);

            $lQuery  = "SELECT * FROM accounts WHERE username='".
            $lUsername .
            "' AND password='" .
            $lPassword .
            "'";
            $lEncodeOutput = FALSE;
    
posta Bob Ebert 19.03.2016 - 21:15
fonte

1 risposta

1

Suppongo che ti piacerebbe capire da solo il metodo esatto e stai solo cercando di essere indicato nella giusta direzione.

I metodi di query del database PHP in genere consentono solo una singola query per chiamata. Quindi devi fare un'iniezione che fa parte della query che viene eseguita.

Tuttavia, sono abbastanza sicuro che non puoi INSERIRE i dati usando l'iniezione, ma manipola solo il risultato di una SELECT.

    
risposta data 20.03.2016 - 21:22
fonte

Leggi altre domande sui tag