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 est une extension permettant de détecter des codes XSS (chaînes corrompues). Elle peut également être utilisée pour repérer des injections SQL, des injections de commandes, des injections de chemins de fichiers et des vulnérabilités similaires.
Lorsque taint est activé, les chaînes reçues de l'entrée utilisateur — $_GET, $_POST et $_COOKIE — sont marquées comme corrompues au démarrage de la requête, et la marque est propagée à travers les opérations sur les chaînes. Lorsqu'une chaîne corrompue atteint un point de sortie dangereux (affichage, requête SQL, commande shell, chemin de fichier...), taint émet un avertissement pointant vers cet endroit. Voir Propagation et vérifications pour les listes complètes.
Taint est un outil de développement et d'audit, non une défense à l'exécution : il ne fait que signaler des problèmes possibles et ne bloque ni n'altère jamais les données. Il est délibérément conservateur et peut sur-rapporter, donc un passage sans erreur signifie uniquement « rien que taint ne pouvait voir », jamais « prouvablement sécurisé ». Ne pas l'activer dans les environnements de production.
Exemple #1 Exemple avec 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);
?>Résultat de l'exemple ci-dessus est similaire à :
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.