Introducción

Taint es una extensión que sirve para detectar código XSS (cadenas de caracteres corrompidas, «tainted»). También se puede utilizar para localizar vulnerabilidades a inyecciones SQL, inyecciones «shell», etc.

Si taint está habilitada, advertirá de si se ha proporcionado una cadena corrompida (que venga de $_GET, $_POST o $_COOKIE) a alguna función.

Ejemplo #1 Ejemplo de taint()

<?php
$a 
trim($_GET['a']);

$nombre_fichero '/tmp' .  $a;
$salida    "¡¡¡Bienvenido, {$a} !!!";
$var       "salida";
$sql       "Select *  from " $a;
$sql      .= "ooxx";

echo 
$salida;

print $
$var;

include(
$nombre_fichero);

mysql_query($sql);
?>

El resultado del ejemplo sería algo similar a:

Warning: main() [function.echo]: Attempt to echo a string that might be tainted

Warning: main() [function.echo]: Attempt to print a string that might be tainted

Warning: include() [function.include]: File path contains data that might be tainted

Warning: mysql_query() [function.mysql-query]: SQL statement contains data that might be tainted