
25.04.2009, 13:19
|
|
Постоянный
Регистрация: 06.02.2008
Сообщений: 494
Провел на форуме: 1754802
Репутация:
380
|
|
Сообщение от mailbrush
Pashkela, если ты не в курсе, Символ "i" после закрывающего ограничителя шаблона означает регистронезависимый поиск.
Бургер, вот с функцией:
PHP код:
<?
$array=array('union','select','and','orx','\+');
$string="http://site.ru/script.php?id=1+union+select+1";
foreach($array as $value)
{
$pattern="#".$value."#i";
if(preg_match($pattern,$string))
{
$string=preg_replace($pattern,false,$string);
$function="echo '<h1>Попытка взлома!</h1>';"; //функкция
}
}
echo $string;
@eval($function);
?>
Если не нужны сложные замены то предпочтительней использовать str_ireplace(str_replace в 4 ветки с извратом strtolower или strtoupper ), во вторых представь ситуацию preg_match($pattern,$string) вернет 0 замен и у нас будет возможность перезаписать $function (переменые переменых, Global Owerwrite и etc ) то мы получем шелл 
|
|
|