L'utente malintenzionato non lo sa direttamente, ma esegue la scansione del sito Web con le sonde per rilevare le vulnerabilità RCE / RFI / LFI e immettere codice specifico nelle richieste e nei singoli parametri GET / POST.
Quando sanno che il risultato cambia in base all'input dell'utente fornito, testano singoli parametri con codici diversi per attacchi diversi.
eval()
non è quasi mai necessario e non dovrebbe mai essere utilizzato per input che possono essere manipolati dagli autori di attacchi.
Questo è anche menzionato nella documentazione ufficiale di PHP, dove mettono in guardia sui rischi.
link
Caution
The eval() language construct is very dangerous because it allows execution of arbitrary PHP code. Its use thus is discouraged. If you have carefully verified that there is no other option than to use this construct, pay special attention not to pass any user provided data into it without properly validating it beforehand.
Come sviluppatore web non ho mai usato né necessario eval()
.
Ma questo non è ancora correlato a JavaScript, anche se c'è eval()
in JavaScript, ma per l'esecuzione solo del codice JavaScript.