-include-..-2f..-2f..-2f..-2froot-2f 〈PREMIUM →〉
At first glance, -include-..-2F..-2F..-2F..-2Froot-2F looks like gibberish. But it’s a path traversal string. Let’s break it down:
Do not allow user-supplied strings to be passed directly to include() , require() , file_get_contents() , or fopen() .
GET /index.php?page=-include-..-2F GET /*.php?*-include-* GET /*.*-2Froot-2F
In a path traversal attack, an attacker attempts to access files and directories stored outside the web root folder. By manipulating variables that reference files with "dot-dot-slash" ( ../ ) sequences, the attacker moves up the directory tree to access restricted system files. Anatomy of the Attack String -include-..-2F..-2F..-2F..-2Froot-2F
The keyword -include-..-2F..-2F..-2F..-2Froot-2F may seem obscure, but it represents a real threat pattern. Security researchers, system administrators, and developers need to understand:
// VULNERABLE CODE $file = $_GET['page']; include("/var/www/html/templates/" . $file); // SECURE CODE (Allowlist Approach) $allowed_pages = [ 'home' => '/var/www/html/templates/home.php', 'about' => '/var/www/html/templates/about.php', 'contact' => '/var/www/html/templates/contact.php' ]; $page = $_GET['page']; if (array_key_exists($page, $allowed_pages)) include($allowed_pages[$page]); else // Handle error safely include('/var/www/html/templates/404.php'); Use code with caution. 2. Implement Canonicalization Checks
Successful exploitation of a path traversal vulnerability using this pattern can lead to: At first glance, -include-
Let’s examine concrete examples of how this exact pattern could lead to a breach.
: Indicates a target to access the /root directory, which usually contains sensitive system configuration files. How Path Traversal Vulnerabilities Work
: The sequence ..-2F..-2F..-2F..-2F means the attacker is attempting to move up four directory levels, often to reach the server's root directory ( / ) [1]. GET /index
In PHP, use basename() to strip out directory paths, leaving only the filename.
A classic proof‑of‑concept payload:
On a standard Linux system:
-include-../../../../root/