Чтобы исключить подобные инъекции в начале файла index.php вставляете вот такой код:
$querystr =$_SERVER['QUERY_STRING'];
if (strstr($querystr,"concat_ws") || strstr($querystr,"concat") || strstr($querystr,"union"))
{ header( "Location: index.php" ); }
и все.
Конечно, с помощью регулярных выражений смотрелось бы элегантней, но этот код работает быстрее.
Проверено лично.
Инъекция производится подменой SQL запроса, т.е. без union не обойтись, а тут,как только в строке есть union (т.е. замена запроса) , concat_ws или concat (объединение строк, хотя можно и без него обойтись) - тут же приключается редирект со сбросом параметров.
Кстати, если это прописать в .htaccess - будет еще лучше.