[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Уязвимость session
DooMka
Я совсем зелёный в этом отношении, но некоторые вопросы не дают покоя, так-как уязвимости и наивность построения доступа к определённым страницам может сыграть в дальнейшем злую шутку.

И так. на некоторых ствоих страницах сайта идёт проверка по ID пользователя, ID записана в сессиях таким образом

$_SESSION['id'];


и хранится она как я понимаю на стороне клиента, возникает вопрос, ведь стоит изменить её на стороне клиента к примеру на другое число, 24 и т.д. то можно получить доступ к редактированию определённой инф...

к примеру в $_SESSION['id']; хранится 30 может ли пользоатель изменить её вручную на 55 или любое другое число? Выдав себя на сервере за другого пользователя ?

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

Как вариант решения - хранить в куках - $_SESSION - глобальных переменных зашифрованный пароль в md5 делая проверки к базе по id и паролю и если они совпадают, то разрешать доступ пользователя к данным...

Верен-ли ход моих мыслей, особенно последнее утверждение?



Спустя 15 минут, 32 секунды (12.02.2012 - 08:18) Rand написал(а):
Все перепутал. Сессии хрянятся на сервере, а куки в браузере пользователя. При работе с сессией - единственное, что хранится у пользователя - это идентификатор сессии, который записан в куке. Подобрать его не реально.

Спустя 3 минуты, 3 секунды (12.02.2012 - 08:21) TranceIT написал(а):
Сессии хранятся на стороне сервера это раз.
Во-вторых - направление мысли правильное. НО! Лучше использовать свой алгоритм шифрования. Так мы существенно осложним жизнь потенциальному злоумышленнику. Если уж совсем лень придумать алгоритм то лучше использовать sha1 т.к. алгоритмы md5 частично расшифрованы. Вероятность подбора значительно выше, чем раньше.

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

Спустя 11 минут, 42 секунды (12.02.2012 - 08:33) DooMka написал(а):
Спасибо за ответы.

Попробую поставить вопрос таким образом $_SESSION['id']; содержит в себе цифру, она является указателем в базе mysql определённого пользователя и к сожалению id открыто указаны на сайте, зная ID определённого человека (к примеру 45) может-ли злоумышленник изменить свой $_SESSION['id'] = 22 ; на $_SESSION['id'] = 45; и получить доступ к его информации...

Ответ скорее всего будет нет, но всё-же это можно сделать, читал пару статей сегодня ночью, это было связано с неким багом возможно это удалось устранить, в более поздних версяих php... Но всё-же дополнительную проверку пользователей я сделаю, пусть это и прибавит 1 лишний запрос к базе данных на некоторых страницах...

Спустя 9 минут, 15 секунд (12.02.2012 - 08:42) TranceIT написал(а):
Цитата (DooMka @ 12.02.2012 - 05:33)
Попробую поставить вопрос таким образом $_SESSION['id']; содержит в себе цифру, она является указателем в базе mysql определённого пользователя и к сожалению id открыто указаны на сайте, зная ID определённого человека (к примеру 45) может-ли злоумышленник изменить свой $_SESSION['id'] = 22 ; на $_SESSION['id'] = 45; и получить доступ к его информации...

Нет, не может, кроме случая, когда он имеет доступ 777 в директорию хранения сессий на стороне сервера.

Цитата (DooMka @ 12.02.2012 - 05:33)
Ответ скорее всего будет нет, но всё-же это можно сделать, читал пару статей сегодня ночью, это было связано с неким багом возможно это удалось устранить, в более поздних версяих php... Но всё-же дополнительную проверку пользователей я сделаю, пусть это и прибавит 1 лишний запрос к базе данных на некоторых страницах...

Это уже из раздела паранои. Если хотите защитить данные от абсолютно любого посягательства - запишите их на дискету и сожгите ее.

Спустя 21 час, 10 минут, 8 секунд (13.02.2012 - 05:52) DooMka написал(а):
TranceIT

Огромное спасибо за конкретный ответ. Вы рассеяли все мои сомнения...
Быстрый ответ:

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