Iniezione di codice PHP usando GET ed echo

3

Ho trovato un pezzo di questo codice in un'applicazione web (semplificata):

<?php $password="very-secret-password"; $param = $_GET["param"]; ?>
<html> ...
Param: <?php echo $param; ?>
... </html>

So che è come una chiamata all'XSS, ma vorrei sapere se l'autore dell'attacco può eseguire qui il suo codice PHP. Con questo intendo qualcosa come la visualizzazione della password - page.php?param=; ?><?php echo $password; ?> , ma in particolare questo non ha funzionato.

I go-in e i cheat di OWASP non hanno fornito alcuna informazione su questo specifico problema.

Quindi, l'attaccante può eseguire il proprio codice PHP qui o non è possibile? Se sì, come? (PHP v5.6)

    
posta Vilican 31.12.2015 - 22:16
fonte

2 risposte

12

No, non è possibile iniettare codice serveride semplicemente tramite echoing dei parametri CGI. Ma come dici tu, consente un attacco XSS riflesso.

D'altra parte, è possibile che ci siano altre vulnerabilità nel codice che hai non incluso nella tua domanda.

    
risposta data 31.12.2015 - 22:40
fonte
1

Se si richiama il parametro, l'autore dell'attacco non può iniettare alcun codice PHP. Ma puoi rendere possibile un attacco XSS.

Ma se si eval($_GET["param"]) , o si valuta qualsiasi altro codice in cui si utilizza uno dei parametri GET o POST, allora è possibile inserire codice PHP.

    
risposta data 01.01.2016 - 10:49
fonte

Leggi altre domande sui tag