Code Evaluation via Local File Inclusion (PHP)
Invicti identified a Code Evaluation via Local File Inclusion (PHP).
An attacker can execute arbitrary PHP code by abusing the Local File Inclusion vulnerability on the server.
- If possible, do not permit file paths to be appended directly. Make them hard-coded or selectable from a limited hard-coded path list via an index variable.
- If you definitely need dynamic path concatenation, ensure you only accept required characters such as "a-Z0-9" and do not allow ".." or "/" or "%00" (null byte) or any other similar unexpected characters.
- It is important to limit the API to allow inclusion only from a directory and directories below it. This ensures that any potential attack cannot perform a directory traversal attack.
Required Skills for Successful Exploitation#
Significant attacking skills are required because there is no tool or automated way to exploit this vulnerability. The attacker should first locate the local file inclusion vulnerability, then leverage it to the remote code evaluation.
Invicti Security Insights
- Why Framework Choice Matters in Web Application Security
- Sven Morgenroth Talks About PHP Object Injection Vulnerabilities on Paul’s Security Weekly Podcast
- End of Support for PHP 5 and PHP 7.0
- The Powerful Resource of PHP Stream Wrappers
- Sven Morgenroth Talks About PHP Type Juggling on Paul’s Security Weekly Podcast