шаблоны SQL injections

.zZz.

Новичок
шаблоны SQL injections

Добрый день! Пишу враппер для запросов mysql_query. Помимо всего прочего (логирование запросов, обработка ошибок) хочу находить возможные запросы на эксплуатацию SQL injection.

Вопрос: существует ли сабж или аналогичные инструменты?
 

.zZz.

Новичок
Автор оригинала: Фанат
например '
ну, понятно... тока вот даже одну ' можно представить несколькими способами.
А потом:
-- , ; , UNION (предупреждать), DROP (блокировать) ... etc

Проделал ли кто-нибудь работу по сбору в одном месте всех разновидностей атаки?
 

fixxxer

К.О.
Партнер клуба
>Пишу враппер для запросов mysql_query
Что-то ты не то пишешь. =)

примерно так
PHP:
function sql_escape($s)
{
  return get_magic_quotes_gpc() ? $s : mysql_escape_string($s);
}

function mk_mysql_query($q,$a)
{
   $i=0;
   return preg_replace(
     "~\?([is])~e",
     " '\\1'=='i'
       ? (int)\$a[\$i++]
       :  '\'' . sql_escape(\$a[\$i++]) . '\''
     ",
     $q
   );
}

// test
$integer_value = "1.123";
$string_value = "foo'bar";
$limit = "123'";
$offset = "10 ?asd";
echo
mk_mysql_query(
  "select foo from bar where integer_value=?i and string_value=?s limit ?i offset ?i",
  array($integer_value, $string_value, $limit, $offset)
);
ну или [m]mysqli-stmt-bind-param[/m]
 

.zZz.

Новичок
Автор оригинала: fixxxer
>Пишу враппер для запросов mysql_query
Что-то ты не то пишешь. =)
препарить запросы - это хорошо ( спасибо за пример, чертовски понравился), но остаётся вопрос с уведомлениями и классификацией атак.

Тобишь перед preg-replace пробежаться бы по $a в поисках какашек.. :D
 
Сверху