Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Взлом сайта
 
 автор: 10100100   (20.09.2006 в 19:48)   письмо автору
31.3 Кб
 
 

прива всем. вот недавно решил немного протестить сво сцайтец и получилось так что в опере ведь можно делать любые операции с куками, в общем у меня заноситя лишь айди юзера в куку - судя по всему этого мало - я просто напросто сменил себе в куках айди и всё - мой сцайт взломан. нечтоно подобное (не не так страшно как у меня конечно) я наблюдал у Вас на портале... это нормально и что Вы можете посоветовать мне для защиты от подобного рода приколов?
фото прилагается.

   
 
 автор: cheops   (20.09.2006 в 20:19)   письмо автору
 
   для: 10100100   (20.09.2006 в 19:48)
 

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

   
 
 автор: DDK   (20.09.2006 в 20:45)   письмо автору
 
   для: 10100100   (20.09.2006 в 19:48)
 

Если получить куки, то в большинстве форумов можно авторизоваться под чужим аккаунтом. И это неизбежно, т.к. отказываться от кукисов - не выход... Для защиты используют такие методы, как дополнительная проверка паролдя перед заходом в панель управления аккаунтом и т.д... ведь авторизоваться вы сможете, а смениь пароль уже нет.

   
 
 автор: DDK   (20.09.2006 в 20:47)   письмо автору
 
   для: DDK   (20.09.2006 в 20:45)
 

Но есть еще и форумы, которые хранят незашифрованный пароль в куках... наверное, вы знаете такой форум тоже :)))

   
 
 автор: cheops   (20.09.2006 в 20:51)   письмо автору
 
   для: DDK   (20.09.2006 в 20:45)
 

>авторизоваться под чужим аккаунтом.
Пропись имени пльзователя в cookie, ещё не означает авторизацию, это не позволяет помещать ответы.

   
 
 автор: DDK   (20.09.2006 в 21:11)   письмо автору
 
   для: cheops   (20.09.2006 в 20:51)
 

на phpBB в куках стоит подменить ID пользователя и MD5-хеш пароля (там сериализованный массив) и всё... писать сообщения точно можно, проверял :)

   
 
 автор: cheops   (20.09.2006 в 21:32)   письмо автору
 
   для: DDK   (20.09.2006 в 21:11)
 

Пароль ещё сначала получить нужно...

   
 
 автор: DDK   (21.09.2006 в 00:04)   письмо автору
 
   для: cheops   (20.09.2006 в 21:32)
 

Зачем ? Подменяем в куках ID и хэш, авторизуемся... пишем свободно сообщения, создаем темы и т.д. :) А если еще поставлены моды ext.cp (модерирование прямо со страниц форума, не заходя в админку), то вообще делов наворотить можно...

   
 
 автор: cheops   (21.09.2006 в 00:36)   письмо автору
 
   для: DDK   (21.09.2006 в 00:04)
 

Хэш тоже не любой подойдёт - его тоже добыть нужно.

   
 
 автор: DDK   (21.09.2006 в 00:47)   письмо автору
 
   для: cheops   (21.09.2006 в 00:36)
 

И вернулись мы к началу... к сабжу этой темы :)

   
 
 автор: 10100100   (21.09.2006 в 07:20)   письмо автору
 
   для: cheops   (20.09.2006 в 20:51)
 

а как это реализовано на данном форуме?
тоесть почему я не моу помещать ответы от другого юзера?

и всётаки как мне обезопасить себя, надо сделать видимо как на этом форуме...

насчёт phpBB и ведь действительно нужно ещё хэш получить...

   
 
 автор: DDK   (21.09.2006 в 11:13)   письмо автору
 
   для: 10100100   (21.09.2006 в 07:20)
 

Тема данная, как я понял, вопрошает о том, какие манипуляции сайтом можно делать, получив чужие куки. Я рассказал, что можно сделать.

   
 
 автор: 10100100   (21.09.2006 в 11:43)   письмо автору
 
   для: DDK   (21.09.2006 в 11:13)
 

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

   
 
 автор: cheops   (21.09.2006 в 12:27)   письмо автору
 
   для: 10100100   (21.09.2006 в 07:20)
 

Очень просто, как и везде, перед тем как поместить тему или ответ на форум проверяется имя пользователя и пароль, которые передаются из формы. Можно прописать в cookie всё что угодно, но если ник и пароль не будут соответствовать друг другу - добавить сообщение не удасться. Для того, чтобы поместить сообщение нужно знать пароль посетителя, но для этого и не нужно возиться с cookie, достаточно просто воспользоваться штатным Web-интерфейсом.

   
 
 автор: PantiL   (21.09.2006 в 12:39)   письмо автору
35.8 Кб
 
   для: cheops   (21.09.2006 в 12:27)
 

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

   
 
 автор: cheops   (21.09.2006 в 13:22)   письмо автору
 
   для: PantiL   (21.09.2006 в 12:39)
 

Спасибо, убрали.

   
 
 автор: 10100100   (21.09.2006 в 13:48)   письмо автору
 
   для: cheops   (21.09.2006 в 12:27)
 

кхм у меня на сайте есть комменты.. тоесть новостям можно добавить свой коммент, так вот при добавлении коммента пароль логин вводить не нужно - и так почти везде, но в куках у меня передаётся ID юзера для его идентификации :( так чт оже мне делать? помещать в куки и Хэш пароля или как вообще обезопаситься?

   
 
 автор: PantiL   (21.09.2006 в 14:24)   письмо автору
29.3 Кб
 
   для: 10100100   (21.09.2006 в 13:48)
 

А теперь я заменил куку с названием скина. Довольно оригиналный вид получился :) И опять же ошибки :)

   
 
 автор: PantiL   (21.09.2006 в 14:34)   письмо автору
 
   для: PantiL   (21.09.2006 в 14:24)
 

Прикрепленный файл в этом посте php скрипт переименнованный в картинку. Эксперементировал.
Пытался в куках путь к нему прописать вместо названия скина. Ничего не получилось :)

   
 
 автор: DDK   (21.09.2006 в 14:52)   письмо автору
 
   для: cheops   (21.09.2006 в 12:27)
 

Ваш метод еще более опасен для конечных пользователей. Хранить в куках незашифрованный пароль - это по определению неправильно. Зныете, сколько юзеров используют один пароль на все посещаемые ими ресурсы и не только ресурсы ? Вы скажете - это проблема пользователя. Тогда я скажу вам, что эта позиция тоже неверна. Пользователь изначально доверяет ресурсу, регистрируюясь на нем, а именно - оставляя на нем свой пароль и личные данные. Так что если вдальнейшем этот ресурс предоставляет чужим лицам получить без особых усилий эти регистрационные данные в незашифрованном виде, то это уже вообще, я считаю, нарушение конфиденциальности пользователя. А тем более, если при регистрации ресурс требует в обязательном порядке вводить такую информацию, как адрес проживания, настоящие ФИО, телефон и т.п...

ЗЫ: А если вкратце, то более опасным ваш метод является потому, что позволяет злоумышленнику в некоторых случаях получить доступ не только к учетной записи на вашем ресурсе, но и на других. Надеюсь быть понятым правильно, а не с уклоном в вашу сторону, как обычно...

   
 
 автор: DDK   (21.09.2006 в 15:03)   письмо автору
 
   для: DDK   (21.09.2006 в 14:52)
 

Дополнение: В случаях хранения незашифрованного пароля в куках приличные ресурсы предупреждают пользователя о небезопасности хранения данных для автологина в куках.

   
 
 автор: 10100100   (21.09.2006 в 15:19)   письмо автору
 
   для: DDK   (21.09.2006 в 15:03)
 

блин - да в ХЕШЕ ВСЁ ,ну я конечно ДИБИЛ, но не до такой же степени!!! :(((((((
блин ну даже обидно - Вы не внимательны а шишки в меня! :(

   
 
 автор: DDK   (21.09.2006 в 17:05)   письмо автору
 
   для: 10100100   (21.09.2006 в 15:19)
 

Никаких шишек :) И вообще, спорю я не с вами сейчас, а с тов. Симдяновым. Давно мы с ним на такие темы спорим, кто прав, а кто виноват. Вообще, даже не беру в пример вашу ситуацию... говорю "вообще".

   
 
 автор: 10100100   (21.09.2006 в 15:17)   письмо автору
 
   для: DDK   (21.09.2006 в 14:52)
 

Блин, да что за невнимательность такая то?
Я ценю каждого пользователя!
я ж и говорю, что нужно в Хэше всё помещать, но подскажите ЧТО мне всётаки вводить в куки чтоб обезопасить юзеров от взлома?

   
 
 автор: Axxil   (21.09.2006 в 15:36)   письмо автору
 
   для: 10100100   (21.09.2006 в 15:17)
 

Да что угодно через md5 пропустить и хранить.
Если вообще паранойя мучает то можно вообще пароль не сохранять в куках и каку-нить хитрую систему забабахать.
например:


$length = rand(10,20);
$_COOCKIE['user_id'] = $length; // Это чтоб поиздеваться :)))
$_COOCKIE['p1'] = substr(md5($username),0,$length);
$_COOCKIE['p2'] = substr(md5($email),0,$length);

А при авторизации всё это вытаскивается и сравнивается со значениями в базе. и дальше как обычно

   
 
 автор: 10100100   (21.09.2006 в 15:40)   письмо автору
 
   для: Axxil   (21.09.2006 в 15:36)
 

а... хм... но пароль всётаки н стоит (захешированный) в куку вписывать?
тоесть нужно будет в базе новую переменную(ну значение) вводить?

   
 
 автор: Axxil   (21.09.2006 в 15:46)   письмо автору
 
   для: 10100100   (21.09.2006 в 15:40)
 

А зачем новое значение вводить.
Я привёл уж совсем параноидальное извращение.
Обычно достаточно зашифровать пароль и сохранить его вместе в id.
У детей любая зашифрованная информация вызывает скуку и отбивает желание ломать этот сайт. А матёрые граждане через куки не полезут. Т.к. есть куча способов поинтереснее.
И если на сайте ID юзера нигде не показывать, то это тоже прибавит головной боли взломщику.

Я вот тут подумал. В принципе вышеизложенная т.н. защита вряд ли является удачной. Т.к. при внимательном рассмотрении понять что и как там довольно просто. А если учесть что email и username обычно можно найти в открытом доступе на сайте, то это уже становится опасно. Можно в принципе генерировать уникальный случайный 200 (:))) значный код для каждого юзера и его хранить в куках и в соответствующем поле базы.
В принципе будет достаточно :)

   
 
 автор: 10100100   (21.09.2006 в 17:02)   письмо автору
 
   для: Axxil   (21.09.2006 в 15:46)
 

так всётаки хранить в куках пароль в хэше и ID? я примерно так и думал.

   
 
 автор: cheops   (21.09.2006 в 18:39)   письмо автору
 
   для: DDK   (21.09.2006 в 14:52)
 

Что пароль, что хэш будучи украдеными могут быть использованы злоумышлеником на других сайтах, в случае хэша - дополнительные 2 часа работы, даже малолетние злоумышленики, которые не умеют воровать пароли и хэши, знают какими программами подбирать пароль... Вопрос не в том, зашифрован пароль или нет, вопрос в том, что хэши и пароли не должны ни в коем случае не покидать базу данных... а уже если покинули, то зашифрован пароль или нет - не имеет уже никакого значения. Если злоумышленику потребуется он подберёт его.

   
 
 автор: DDK   (21.09.2006 в 23:09)   письмо автору
 
   для: cheops   (21.09.2006 в 18:39)
 

Но это тоже не выход... тогда невозможно будет сделать запоминание авторизиции ни в каком виде.

   
 
 автор: cheops   (22.09.2006 в 11:17)   письмо автору
 
   для: DDK   (21.09.2006 в 23:09)
 

Я никакого выхода и не предлагал...

А выход один - дыр не делать на сайте, чтобы XSS-атаки были невозможны, или если не делать дыр не получается, не использовать cookie.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования