Latest compatibility info is available at the pecl page - https://pecl.php.net/package/taint shows that latest compatibility is 7+, and a windows DLL is available.Taint es una extensión para detectar código XSS (strings corrompidos, «tainted»). También puede utilizarse para localizar inyecciones SQL, inyecciones de comandos, inyecciones de rutas de ficheros y vulnerabilidades similares.
Cuando taint está habilitada, los strings recibidos de la entrada del usuario — $_GET, $_POST y $_COOKIE — se marcan como corrompidos al inicio de la petición, y la marca se propaga a través de las operaciones con strings. Cuando un string corrompido alcanza un punto peligroso (salida, consulta SQL, comando del sistema, ruta de fichero, ...), taint emite una advertencia que señala ese punto. Consulte Propagación y puntos comprobados para ver las listas completas.
Taint es una herramienta de desarrollo y auditoría, no una defensa en tiempo de ejecución: solo informa de posibles problemas, y nunca bloquea ni altera los datos. Es deliberadamente conservadora y puede informar de más de la cuenta, de modo que una ejecución limpia solo significa «nada que taint pudiera ver», nunca «demostrablemente seguro». No la habilite en entornos de producción.
Ejemplo #1 Ejemplo de taint
<?php
$a = trim($_GET['a']);
$file_name = '/tmp/' . $a;
$output = "Welcome, {$a} !!!";
$sql = "SELECT * FROM users WHERE name = " . $a;
echo $output;
print $output;
include $file_name;
mysqli_query($link, $sql);
?>Resultado del ejemplo anterior es similar a:
Warning: main() [echo]: Attempt to echo a string that might be tainted in /path/to/script.php on line 9 Warning: main() [print]: Attempt to print a string that might be tainted in /path/to/script.php on line 10 Warning: main() [include]: File path contains data that might be tainted in /path/to/script.php on line 11 Warning: main() [mysqli_query]: SQL statement contains data that might be tainted in /path/to/script.php on line 12
Latest compatibility info is available at the pecl page - https://pecl.php.net/package/taint shows that latest compatibility is 7+, and a windows DLL is available.