Форум программистов, компьютерный форум, киберфорум
Безопасность сайтов и серверов
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.66/35: Рейтинг темы: голосов - 35, средняя оценка - 4.66
350 / 76 / 10
Регистрация: 13.10.2010
Сообщений: 830
1

Взлом сайта

18.11.2010, 19:00. Показов 6553. Ответов 34
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Вообщем написал я тут мини cms свою, она по адресу [Ссылка удалена модератором!] (Прошу модеров не счесть за рекламу эту ссылку, без неё тема эта уже смысла не имеет). Написал и оставил в интернете. И как то прихожу, смотрю сайт взломали и написали всякие гадости=) Дети, ейбогу. Смысл в чём. В том, что пароль от сайта был и есть 123([Ссылка удалена модератором!]/admin.php). Вопрос в том, что догадались ли взломщики о пароле или в скрипте действительно дыра. Так же хулиганы полазили в настройках и это больше всего пугает, так как после них остались следующие данные:
  • Ширина загружаемой фотографии: Пусто
  • Ширина превью фотографии: Пусто
  • Папка под фотографии: ../../../../etc/
  • Количество записей, выводимых в таблице на одну страницу: Пусто

авторизация выглядит следующим образом.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//Авторизация
if (isset($_POST['password']))
{
$sql=mysql_query("SELECT * FROM `other` WHERE `id`='admin_password'"); while ($req = mysql_fetch_assoc($sql)){$md5_pass=$req['key'];}
if(md5($_POST['password']) != $md5_pass) $error_authorization="Не верный пароль!<br>"; else {$_SESSION['login']='Администратор'; $md5_pass='';}
}
if(empty($_SESSION['login']))
    {
    echo "<form method='post'>
    $error_authorization
    Пароль<br>
    <input type='password' name='password'><br>
    <input type='submit' value='Войти' name='rederect_submit'>";
    }
else
    {
//админка
}
P.S. Если не в тот раздел, то извиняюсь, не знал куда с такой проблемой.

Добавлено через 18 часов 34 минуты
И так, по совету одного местного авторитета я сменил пароль для чистоты эксперимента. Пароль сложный, первый, что пришёл в голову, поэтому подобрать его не получиться.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
18.11.2010, 19:00
Ответы с готовыми решениями:

Взлом сайта на PHP
Здравствуйте! Нужна помощь в странной ситуации. На основном домене стоит CMS последней версии и...

Взлом?
Ситуация такая: сайт на joomla 2.5, имеется плагины защиты adminexile и marcos. В логах последняя...

Взлом через SQL-запрос и защита информации
Не знаю подымалась ли тема на сайте... Господа, ПХПисты. Проверяйте ЛЮБЫЕ даные приходящие...

Можно ли предотвратить взлом базы средствами PHP
вот к примеру есть база данных линуксовая для флеш, но чтобы взлом через флеш был маловероятен,...

34
350 / 76 / 10
Регистрация: 13.10.2010
Сообщений: 830
15.01.2011, 06:31  [ТС] 21
Author24 — интернет-сервис помощи студентам
Да, Да, Да.Я про это и говорю
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
15.01.2011, 07:22 22
Цитата Сообщение от Sonax Посмотреть сообщение
123([Ссылка удалена модератором!]/admin.php).
Гарантия взлома, причём, какие бы ни были дыры, ни кто их даже искать не будет с таким то паролем.
Цитата Сообщение от Sonax Посмотреть сообщение
или в скрипте действительно дыра.
Скрипт клиенту передаётся? Проверкой пароля занимается скрипт? Сама CMS состоит полностью из него? Если на первый вопрос и хотя бы ещё или на второй, или на третий ответ "да", то это и есть самая большая дыра из всех, какие можно придумать.
0
350 / 76 / 10
Регистрация: 13.10.2010
Сообщений: 830
15.01.2011, 07:38  [ТС] 23
Скрипт клиенту? Это PHP же! Нет конечно.
Проверкой пароля занимается скрипт? Ну не я же, конечно скрипт.
Сама CMS состоит полностью из него? Вопрос неправильно сформулирован. Нет.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
15.01.2011, 07:55 24
Ну если исполнение, как это и полагается, на сервере, то вроде не особо дыряво. Но с таким паролем дыр не надо. С новым не ломали?
0
350 / 76 / 10
Регистрация: 13.10.2010
Сообщений: 830
15.01.2011, 07:56  [ТС] 25
C новым нет, всё найс было.
0
0 / 0 / 0
Регистрация: 30.03.2010
Сообщений: 21
03.02.2011, 01:54 26
1) К дописывай к хэшу соль, и меняй значение соли пару раз в неделю... у меня например написан скрипт, который сам генерирует соль каждый день. Будь у злоумышленника 100500 серваков со 500100 ядрами , он никогда не сбрутит ключ.
2) скрой админку апачем
3) настрой редеректы тем же апачем - тут 2 плюса , а) это просто делает запросы в url красивше б) скрывает расширение исполняемого файла.

Ps советую почитать книжку "Рецепты php" издательства o'reilly, лучшее что я когда либо читал по php, кучи примеров которые реализованы в минимум строк кода, а самое главное там просто заоблачный стиль написания скриптов.
0
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
03.02.2011, 10:02 27
lomo4el,
Цитата Сообщение от lomo4el Посмотреть сообщение
б) скрывает расширение исполняемого файла.
вот это точно не имеет смысла все атакующие понмают что 95% сайтов в сети написаны на ПХП
скорее
это просто делает запросы в url красивше
а запросы фильтровать надо
0
126 / 93 / 18
Регистрация: 09.01.2011
Сообщений: 467
05.02.2011, 13:03 28
Извините конечно, но как Вы могли были забыть о логах? Ведь первым делом, как только есть факт взлома, надо сразу читать логи! И там может быть ответ, как получен доступ. И еще. Раз Вы знаете хорошо PHP, то почему Вам не написать логирование доступа к админ файлу, попытки подбора пароля и успешные входы? Лично в моей CMS, стоит доступ по IP. И как только кто-то открывает страницу админки, сразу идет запись в лог ип, время, что сделал(+ еще одно секретное поле). Как только форма входа отправлена, идет проверка, если успешно, то запись в бд, успешно вошел с такого-то ип во столько-то. Иначе пишет, что попытка подбора пароля логин:пароль, ип, время.
0
Комбинатор
980 / 252 / 13
Регистрация: 10.03.2010
Сообщений: 3,556
05.02.2011, 13:26 29
Цитата Сообщение от Dellok Посмотреть сообщение
Извините конечно, но как Вы могли были забыть о логах? Ведь первым делом, как только есть факт взлома, надо сразу читать логи! И там может быть ответ, как получен доступ. И еще. Раз Вы знаете хорошо PHP, то почему Вам не написать логирование доступа к админ файлу, попытки подбора пароля и успешные входы? Лично в моей CMS, стоит доступ по IP. И как только кто-то открывает страницу админки, сразу идет запись в лог ип, время, что сделал(+ еще одно секретное поле). Как только форма входа отправлена, идет проверка, если успешно, то запись в бд, успешно вошел с такого-то ип во столько-то. Иначе пишет, что попытка подбора пароля логин:пароль, ип, время.
Тю.. это элементарно, я так всегда делаю. Ну почти так.
0
4 / 4 / 0
Регистрация: 21.02.2010
Сообщений: 43
11.02.2011, 03:03 30
<<<Вопрос в том, что догадались ли взломщики о пароле или в скрипте действительно дыра.>>>

Ну, а где
PHP
1
2
$login    = strip_tags( $_POST['login']);
$login = htmlspecialchars(trim($login));
это не просто большая дыра - а подарок!!!
0
350 / 76 / 10
Регистрация: 13.10.2010
Сообщений: 830
11.02.2011, 03:24  [ТС] 31
mysql_real_escape_string проверка есть там, тема закрыта
0
1 / 1 / 2
Регистрация: 26.09.2010
Сообщений: 73
12.02.2011, 19:14 32
Sonax, ссылку на сайте в лс кинь гляну все.
0
450 / 203 / 27
Регистрация: 23.12.2010
Сообщений: 645
13.02.2011, 10:31 33
inkrom, это вы так защитились от инекции ? и как помогает?
0
1 / 1 / 0
Регистрация: 05.03.2011
Сообщений: 19
05.03.2011, 19:46 34
Во первых у тебя уже есть минимум 2 дыры.
работа воего скрипта простыми словами:
1) получаем данные из формы.
2)`если пароль указан то` из базы извлекается хеш пароля (хотя у тебя извлекается все* почему-то), и сверяется с хешем пароля введенном в форму.
3) если совпадают то открываем сессию.
Проблема 1: нет фильтрации данных (вероятность sql иньекции очень велика), и метод POST (любым снифером можно получить уйму полезных данных).
Скинь ссылку на сайт на почту мне info@grvt.net я проверю твой сайтик, кстати я тоже работаю над cms`кой небольшой, сейчас в стадии бета-теста.
0
8 / 8 / 1
Регистрация: 01.11.2010
Сообщений: 157
07.03.2011, 12:45 35
ну конечно тут дыра, ты хоть от SQL-инъекции защитился бы. stripslashes - mysql_real_escape_string - тебе поможет. Особо не стал в твоем коде ковыряться, но сразу нашел дыру
0
07.03.2011, 12:45
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2011, 12:45
Помогаю со студенческими работами здесь

Взлом локального сайта
Как взломать сайт через SQL запрос если выдаёт ошибку при вводе '&quot;' и нажатии submit ?: Warning:...

Взлом сайта ДЛЕ
Здравствуйте на моем сайте появился сторонний код такого вида &lt;iframe...

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

Наказание за взлом университетского сайта
Всем привет. Имею очень важный вопрос и надеюсь на вашу потдержку. Вообщем учусь я в...

Возможен ли взлом сайта через Flash приложение
Добрый вечер уважаемые программисты, интересует меня такой вопрос, возможно-ли взломать сайт на...

Взлом сайта, разместили код sape и linkfeed
Вопрос в названии темы... Взломали сайт на SS premium, поставил все обновления + знакомый...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
35
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru