Come scansionare il codice PHP per le funzioni vulnerabili? [chiuso]

0

Ho visto un rapporto pentest e c'era una sezione in cui il pentestore elenca tutte le funzioni che sono vulnerabili in PHP. Come ha fatto a scannerizzare il codice e quali strumenti possono essere utilizzati, ed è possibile farlo senza avere accesso ai file?

Ad esempio:

PHP "phar_fix_filepath" function stack buffer overflow vulnerability

    
posta mrashid 04.12.2017 - 09:38
fonte

1 risposta

4

È importante notare che phar_fix_filepath non è una funzione PHP utilizzata dall'app Web. È una funzione nella sorgente C del motore PHP. Il problema di sicurezza a cui fa riferimento il pentester è probabilmente CVE-2015-5590 :

Stack-based buffer overflow in the phar_fix_filepath function in ext/phar/phar.c in PHP before 5.4.43, 5.5.x before 5.5.27, and 5.6.x before 5.6.11 allows remote attackers to cause a denial of service or possibly have unspecified other impact via a large length value, as demonstrated by mishandling of an e-mail attachment by the imap PHP extension.

Quindi cosa ha fatto il pentestore qui? Probabilmente ha controllato quale versione di PHP stai usando (per impostazione predefinita questa viene visualizzata comodamente in un'intestazione di risposta HTTP, ma può essere trovata anche tramite impronte digitali). Quindi ha solo bisogno di controllare qualsiasi elenco di vulnerabilità note per vedere quali riguardano quella versione.

Ma il pentestore sa che il tuo codice comporta l'esecuzione di questa funzione e che la vulnerabilità può essere sfruttata? Probabilmente no. La mia ipotesi è che sia soddisfatta per aver sottolineato che la versione di PHP è vulnerabile, indipendentemente dal fatto che la tua app sia influenzata o meno. E onestamente, è già abbastanza brutto. Anche se questo non può essere sfruttato al momento, il minimo cambiamento nel codice sorgente potrebbe cambiare questo fatto. Devi aggiornare il tuo motore PHP indipendentemente da cosa.

Con questa vista, non è necessario accedere al codice sorgente, poiché l'analisi si basa solo sul numero di versione. Se si dovesse determinare se l'app può essere effettivamente sfruttata, l'accesso al codice sorgente sarebbe di grande aiuto, tuttavia.

    
risposta data 04.12.2017 - 10:43
fonte