LFI - Bypass Preg_Replace

0

Ho uno script con questo codice:

$name = preg_replace('/[^a-z0-9_.]/', '', $_GET['name']);

$ _ OTTIENI ['name'] = ../../conf.php ma preg_replace ha filtrato la mia barra (/) e $ name sarà .... conf.php Posso bypassarlo?

    
posta Salman Daryanavard 20.09.2016 - 18:08
fonte

1 risposta

2

Probabilmente no. Questa è una regex di whitelist (il ^ è un no) che sostituisce tutto ciò che non è letteralmente a-z o 0-9 o underscore o punto con niente - lo rimuove.

Questo è in realtà il modo consigliato per farlo se puoi - essendo così restrittivo su ciò che è permesso, elimina i caratteri di controllo, le barre, l'escape (% o &), tutto ciò che potrebbe infrangerlo.

Il meglio che puoi fare è vedere "..", che potrebbe causare l'apertura della directory superiore e fornire alcune informazioni per te, ma probabilmente no.

    
risposta data 20.09.2016 - 18:39
fonte

Leggi altre domande sui tag