Доступ по паролю

Большое заблуждение, считать, что http://user:password@example.org/ и http://example.org/user/password/ сильно различаются. Ничего подобного. Единственное различие между ними, что если набрать второй адрес руками, то он останется в истории браузера. Для AJAX'а более пригоден второй путь — «logout» делать сильно проще.

Необходимое замечание: речь, конечно же, идёт о basic-авторизации. Digest мало кто пробует (а три года назад оно сильно ещё глючило, наверное, сейчас получше должно быть), NTLM по-чёрному глючит в «Опере» (в чём я убедился, работая в «Яндексе»).

Итак http://example.org/jfdhfjhrtjktjkfhdjht/ это вполне себе парольный доступ.
13 апреля 2009 14:08

LXj (lxj.endofinternet.net)
13 апреля 2009, 18:01

А если пользователь зайдёт на http://user:password@example.org/ и ткнёт там на ссылку http://evil-site.cn, увидит ли вебмастер evil-master.cn пароль этого пользователя в своих логах?

LXj (lxj.endofinternet.net)
13 апреля 2009, 18:02

*evil-site.cn, конечно же.

А вообще на http://etherpad.com эта система и используется

bolk (bolknote.ru)
13 апреля 2009, 18:12, ответ предназначен LXj (lxj.endofinternet.net):

Там написано «AJAX». Кстати, да etherpad. Как-то не подумал.

roman (alax.myopenid.com)
13 апреля 2009, 18:19

С некоротых времён, password в форме http://user:password@example.org/ - deprecated и даже отвергается броузерами.

bolk (bolknote.ru)
13 апреля 2009, 18:23, ответ предназначен roman (alax.myopenid.com):

Prooflink?
Я знаю, что Microsoft довольно коряво залатала хак с подменой адреса, отключив такую возможность.

В любом случае, речь не об этом. А о том, что закрытый URL — тоже пароль.

roman (alax.myopenid.com)
13 апреля 2009, 18:32, ответ предназначен bolk (bolknote.ru):

Prooflink - RFC 3986, 3.2.1. User Information

Use of the format "user:password" in the userinfo field is
   deprecated. Applications should not render as clear text any data
   after the first colon (":") character found within a userinfo
   subcomponent unless the data after the colon is the empty string
   (indicating no password).

И для быстрой проверки - http://demo:demo@vivotek.taxispb.ru:8081/ FireFox открывает, выдавая message box подтверждения. IE обламывается не посылая даже исходящего запроса.

bolk (bolknote.ru)
13 апреля 2009, 18:51, ответ предназначен roman (alax.myopenid.com):

Да, про IE я знаю.

Спасибо за RFC!

arty (arty.name)
13 апреля 2009, 20:31

Кстати, про Digest  — его как-то можно использовать, не подвергаясь остракизму за хранение открытых паролей в базе?

bolk (bolknote.ru)
13 апреля 2009, 20:49, ответ предназначен arty (arty.name):

Насколько я его понимаю, нет.

david-m.livejournal.com (david-m.livejournal.com)
14 апреля 2009, 14:15, ответ предназначен arty (arty.name):

А не проще забить на пуристов?:)

arty (arty.name)
14 апреля 2009, 17:55, ответ предназначен david-m.livejournal.com:

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

и, случись взлом, никто не скажет «мальчик сам виноват», всех собак свалят на сервис с открытыми паролями в базе

хотя, по-честному, давно уже есть справочники md5 от распространённых паролей — как раз тех самых, что на все случаи жизни, поэтому реальной защиты хэширование не даёт

но чем тогда digest лучше простого https? защитой от MitM?

bolk (bolknote.ru)
14 апреля 2009, 20:23, ответ предназначен arty (arty.name):

Защита от SQL-инъекций, например, элементарная: шифровать семитричным ключём, например. Благо, в MySQL есть средства (http://dev.mysql.com/doc/refman/5.1/en/encryption-functions.html).

А нормальная защита — спрятать всю работу с паролем (запись и проверку, запретив чтение) за хранимые процедуры.

bolk (bolknote.ru)
15 апреля 2009, 14:57

Тьфу, «симметричный» (спасибо, Саня, за поправку)

arty (arty.name)
15 апреля 2009, 16:57, ответ предназначен bolk (bolknote.ru):

хех, инъекции я даже не рассматривал % )

для меня слив базы означает шелл-доступ к серверу, со всеми вытекающими: полный дамп таблиц и копия ключа шифрования

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

bolk (bolknote.ru)
15 апреля 2009, 18:50, ответ предназначен arty (arty.name):

Шелл-доступ означает, что я могу поменять код и логгировать пароли.

arty (arty.name)
15 апреля 2009, 21:16, ответ предназначен bolk (bolknote.ru):

тоже верно
вообще интересно было бы иметь статистику, по каким причинам пароли утекали. Инъекции — это как-то совсем по-детски

bolk (bolknote.ru)
15 апреля 2009, 22:16, ответ предназначен arty (arty.name):

Инъекции — вполне себе нормальный метод, ничего детского в нём нет :)

Статистику такую вряд ли возможно собрать.

arty (arty.name)
16 апреля 2009, 00:29, ответ предназначен bolk (bolknote.ru):

детство — иметь такую уязвимость : )

bolk (bolknote.ru)
16 апреля 2009, 23:53, ответ предназначен arty (arty.name):

Детство или нет, а я до сих пор вижу множество таких сайтов, да и другие люди — тоже (http://www.xakep.ru/post/47719/default.asp).

arty (arty.name)
17 апреля 2009, 11:23, ответ предназначен bolk (bolknote.ru):

уф, я уж вначале подумал, что в самом фейсбуке эта дырка : )

вообще у меня, видимо, сложилось ложное впечатление об этой проблеме с тех пор, как интернет перестал полниться статьями на эту тему

детям нельзя в интернет, он от них тупеет

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)