информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеАтака на InternetЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Очередное исследование 19 миллиардов... 
 Оптимизация ввода-вывода как инструмент... 
 Зловреды выбирают Lisp и Delphi 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / web building
Имя Пароль
если вы видите этот текст, отключите в настройках форума использование JavaScript
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
Вообще-то для таких вещей есть SSL ;) 14.08.03 13:04  Число просмотров: 1887
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
<web building>
Sessions vs XSS 14.08.03 12:48  
Автор: izlam Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Задача:
Уникально сопоставить сессию с компьютером. То есть что бы украденные Cookie нельзя было использовать. Как вариант - сохранять в сессии IP и User Agent. Однако как быть с proxy/nat и одинаковыми браузерами (например универ сидит за nat и браузер у всех одинаковый) ?

Пользователям ДОЛЖЕН быть позволен ввод HTML. Как вариант можно фильтровать JS, но аппликуха на mod_perl под большой нагрузкой, поэтому HTML::StripScripts::Parser не пойдет - слишком медленно.

Потому думаю всё разрешить, но привязать сессии к компьютеру

У кого мысли есть ?
Вообще-то для таких вещей есть SSL ;) 14.08.03 13:04  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
Вообще-то для таких вещей есть SSL ;) 14.08.03 13:51  
Автор: izlam Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Не уверен, что client-side javascript не сможет досступиться к cookies под SSL. Я не говорю о сниффинге траффика, но о более тривиальных способах снятия cookies. Поясню - один юзер добавляет некий HTML (и javascript) который потом сможет посмотреть другой юзер (возможно залогиненный). Javascript имеет доступ к cookies в данном случае, и SSL ничего не решает.

То есть я хочу сказать - не важно каким способом сняты cookies (пусть даже трояном с локального диска) - они не должны быть реюзабельны на другой машине.
Вообще-то для таких вещей есть SSL ;) 14.08.03 13:57  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
> Не уверен, что client-side javascript не сможет
> досступиться к cookies под SSL. Я не говорю о сниффинге
> траффика, но о более тривиальных способах снятия cookies.
> Поясню - один юзер добавляет некий HTML (и javascript)
> который потом сможет посмотреть другой юзер (возможно
> залогиненный). Javascript имеет доступ к cookies в данном
> случае, и SSL ничего не решает.
Прошу прощения, но о каком снятии cookies можно говорить, если при использовании SSL сессия защищается машинно-зависимым ключом? нельзя использовать SSLную сессию с другой машины - сервер ее просто не примет.
Вообще-то для таких вещей есть SSL ;) 14.08.03 14:21  
Автор: izlam Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Прошу прощения, но о каком снятии cookies можно говорить,
> если при использовании SSL сессия защищается
> машинно-зависимым ключом? нельзя использовать SSLную сессию
> с другой машины - сервер ее просто не примет.

Ммм... вопросом на вопрос отвечу. Javascript можетпрочитать cookie из браузера который его (javascript) просматривает ? Это будет ответом на вышеуказанный вопрос.

Если Вам это не совсем очевидно, то просто абстрагируйтесь от метода снятия cookies, он обязательно найдётся (!), и предположим она снята; сосредоточьтесь на проблеме как сделать что бы её нельзя было использовать на другой машине. Идентификации по IP и User Agent строке (которую тоже можно узнать при помощи javascript) недостаточно. Что действительно уникального есть у каждого серфера ?


Так тебе нужно хранить информацию о сессиях между сессиями? 14.08.03 16:11  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка>
Если да, тогда НЕТ способа обеспечить безопасное хранение такой информации, согласен с другими участниками. Точнее, безопасное хранение такой информации - это задача для пользователя. Пользователь для входа использует пару логин-пароль. Если есть опасения насчет сохранности пароля - Мозилла и Опера имеют локальные зашифрованные хранилища паролей, в случае IE пользователь может воспользоваться продуктами третьих сторон, дающими ту же функциональность, например AI RoboForm. Но все это пользователь должен делать сам, если печется о сохранности своих данных.
У каждого серфера есть дата закрытия сессии 14.08.03 14:37  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Если Вам это не совсем очевидно, то просто абстрагируйтесь
> от метода снятия cookies, он обязательно найдётся (!), и
> предположим она снята; сосредоточьтесь на проблеме как
> сделать что бы её нельзя было использовать на другой
> машине. Идентификации по IP и User Agent строке (которую
> тоже можно узнать при помощи javascript) недостаточно. Что
> действительно уникального есть у каждого серфера ?
>
Я так понял, что хочется и чтобы авторизация сохранялась в кукисах и при этом все было безопасно. Так не бывает. Если уж говорить о безопасности, то повторный ввод пароля после закрытия сессии - не такое уж жесткое требование.

Потому как в крайнем случае другой пользователь может с того компьютера, используя того же юзер-агента зайти и получить конфиденциальную (насколько я понял, раз уж речь о безопасности) информацию.

Вывод: сделать сессионную куку, или отказаться от куков и использовать HIDDEN-поля
и еще http_x_forwarded_for 14.08.03 15:07  
Автор: paganoid Статус: Member
<"чистая" ссылка>
Если юзер сидит за проксёй, еще привязывай сессии к HTTP_X_FORWARDED_FOR - всеж понадёжнее будет.

А про остальное - соглашусь с предыдущими ораторами - идентификация на клиенте через javascript спуфится, а ежели больше ничего на сервер не приходит, то и разделять разные сессии ты не сможешь.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2025 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach