Spoiler:
%00 is what is called the null byte. Injection of the null byte is often called a poison null byte. Another, better explanation can be found here: http://www.hakipedia.com/index.php/Pois ... _Injection
If you do not wish to visit the above, or simply want me to explain more, here you go.
%00 is essentially a terminator, it stops anything else from being done, such as comparisons or file inclusions, and "poisons" the application, causing it to behave in unexpected ways.
Here is another example, taken from hakipedia:
Calling the URI "www.example.com/file.php?file=../../../../../etc/passwd%00" would terminate the string, and the .php would not be appended as would be expected.
Because the .php is not appended, the /etc/passwd file, a rather important file on *nix systems, gets included for easy viewing of the attacker.
If you do not wish to visit the above, or simply want me to explain more, here you go.
%00 is essentially a terminator, it stops anything else from being done, such as comparisons or file inclusions, and "poisons" the application, causing it to behave in unexpected ways.
Here is another example, taken from hakipedia:
- Code: Select all
$file = $_GET['file'];
require_once("/var/www/$file.php");
Calling the URI "www.example.com/file.php?file=../../../../../etc/passwd%00" would terminate the string, and the .php would not be appended as would be expected.
Because the .php is not appended, the /etc/passwd file, a rather important file on *nix systems, gets included for easy viewing of the attacker.





Proud member of the phpBB support team
STG Support team member
STG Moderator team member









