Payload Builder
Every combination below builds, including the ones that cannot work — a payload you watch fail tells you which control is in the way. Impossible pairings are downgraded and explained rather than hidden, and the verdict is always per configuration, never a single yes or no.
This sink executes what it loads. A successful payload is code execution.
Arbitrary file read. A canary, not an impact — do not stop here.
Defeats: Not knowing the depth. Extra ../ at the root is a no-op on every POSIX kernel.
A bare filesystem path. Works anywhere the sink accepts one.
The host defaults to an RFC 2606 reserved name. Point it at your own listener for a real engagement — never at a third party.
Does the inclusion fire?
Fires everywhere except open_basedir + allowlist.
../../../../../../../../etc/passwdGET /index.php?page=../../../../../../../../etc/passwd HTTP/1.1
Host: target.example
Before you report it
- Name the configuration."RFI on the login page" is not a finding if it only fires with
allow_url_include=On. Say which column above you were in. - Say whether the sink executes. A traversal into
file_get_contentsis disclosure. The same traversal intoincludeis RCE. They are not the same severity and they are not the same fix. - Reading
/etc/passwdproves the bug, not the impact. Go on to the config file, the environment, or the session directory — see Methodology.