An attacker exploits a weakness in input validation on the target to force
arbitrary code to be retrieved from a remote location and executed. This
differs from script injection in that script injection involves the direct
inclusion of scripting code while code inclusion involves the addition or
replacement of a reference to a code file, which is subsequently loaded by
the target and used as part of the code of some application. One example of
this sort of attack is PHP file include attacks where the parameter of an
include() function is set by a variable that an attacker is able to control.
The result is that arbitrary code could be loaded into the PHP application
and executed.
Attack Prerequisites
The target application must include external code/libraries that are
executed when the application runs and the attacker must be able to
influence the specific files that get included.
The victim must run the targeted application, possibly using the crafted
parameters that the attacker uses to identify the code to include.
Resources Required
The attacker may need to be able to host code modules if they wish their own
code files to be included.