Модуль определения «грязных» строк Taint

Введение

Taint — модуль определения XSS-кодов — вредоносных, или «грязных» строк (англ. tainted strings). Модуль также помогает выявлять попытки внедрения SQL-инъекций, shell-инъекций и т. д.

Модуль выдаст предупреждение при передаче в отдельные функции подозрительной строки, которую получили из суперглобальных переменных $_GET, $_POST или $_COOKIE.

Пример #1 Пример определения вредоносных строк функцией taint()

<?php

$a = trim($_GET['a']);

$file_name = '/tmp' .  $a;

$output    = "Welcome, {$a} !!!";

$var       = "output";
$sql       = "SELECT * FROM " . $a;
$sql      .= "ooxx";

echo $output;

print $$var;

include $file_name;

mysql_query($sql);

?>

Вывод приведённого примера будет похож на:

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
Добавить

Примечания пользователей 1 note

up
3
dewi at dewimorgan dot com
8 years ago
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.
To Top