Firefox отменил данный запрос!

Вот такое сообщение об ошибке мне показал сегодня FF 3.5: Сюда не ходи, туда ходи (5.52КиБ) Очень не люблю когда программа за меня решает что мне делать. Особенно издевательски смотрится кнопка «Попробовать снова». Зачем мне на неё жать? Firefox может передумать?
9 декабря 2009 17:50

kalvado.livejournal.com (kalvado.livejournal.com)
9 декабря 2009, 18:33

А на какой порт он так ругнулся, если не секрет?

invalidCCIE (blog.invalid.org.ua)
9 декабря 2009, 20:46, ответ предназначен kalvado.livejournal.com:

ну на 23й порт 100% ругается :)
я так понял что и на другие обычно занятые другими службами будет ругаться.

splurov.livejournal.com (splurov.livejournal.com)
9 декабря 2009, 20:54

http://www.mozilla.org/projects/netlib/PortBanning.html

bolk (bolknote.ru)
9 декабря 2009, 22:31, ответ предназначен kalvado.livejournal.com:

Не помню. Какой-то 683-й что ли.

bolk (bolknote.ru)
9 декабря 2009, 22:31, ответ предназначен splurov.livejournal.com:

Да, я видел, спасибо!

bolk (bolknote.ru)
9 декабря 2009, 22:32, ответ предназначен kalvado.livejournal.com:

636, вспомнил!

nikelin.livejournal.com (nikelin.livejournal.com)
10 декабря 2009, 04:13

Вполне нормальная логика - защита пользователей. А кому сильно нужно просто пойдут и поправят дефолтные настройки ФФ в about:config.

nikelin.livejournal.com (nikelin.livejournal.com)
10 декабря 2009, 04:14

А кнопочка "Повторить" нужна в случае, если вы эти настройки таки поправили.

bolk (bolknote.ru)
10 декабря 2009, 10:45, ответ предназначен nikelin.livejournal.com:

Защита пользователей от чего, если уж на то пошло?

maxim-zotov.livejournal.com (maxim-zotov.livejournal.com)
10 декабря 2009, 16:58, ответ предназначен bolk (bolknote.ru):

Защита от отправки данных внутри локальной сети пользователя, например, по ссылке выше: "A simple exploit of this hole allows an attacker to send forged unsigned mail through a mail server behind your firewall"

Файервол и вообще различные сервисы сильнее защищены от внешних соединений, но внутренним адресам делают послабления.

bolk (bolknote.ru)
11 декабря 2009, 00:30, ответ предназначен maxim-zotov.livejournal.com:

Звучит как фантастика. HTTP и SMTP сильно отличаются, я не представляю как можно из браузер отослать почту без почтового клиента.

maxim-zotov.livejournal.com (maxim-zotov.livejournal.com)
11 декабря 2009, 22:40, ответ предназначен bolk (bolknote.ru):

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

Если там дальше по ссылкам пойти, там очень много всякого текста про cross-protocol scripting, готовые программы-эксплойты. Я не вникал.

Один из примеров такой:
ftp://%0ahelo%20localhost%0amail%20from%3A%20%3Ctest%40example.com%3E%0arcpt%20to%3A%20%3CXXXXX%40netscape.com%3E%0adata%0atest%20test%20test%0a.%0aquit:whocares@localhost:25/

Браузер соединяется с smtp-сервером, как будто это ftp, и выдает ему вместо пароля smtp-сессию.

Другой пример: отправка какому-то сервису строки alert(document.cookie), сервис повторяет её в качестве текста ошибки, а браузер выполняет, считая, что ему ответили html-кодом, таким образом можно своровать куки.
http://eyeonsecurity.org/papers/Extended%20HTML%20Form%20Attack.htm

maxim-zotov.livejournal.com (maxim-zotov.livejournal.com)
11 декабря 2009, 22:49

Вот PDF'ка с описанием:
http://www.remote.org/jochen/sec/hfpa/hfpa.pdf

Кратко: в textarea формы находится smtp-сессия, она посылается в виде multipart/form-data, то есть в незакодированном виде, начальные строки до первого HELO игнорируются smtp-сервером.

bolk (bolknote.ru)
12 декабря 2009, 01:45, ответ предназначен maxim-zotov.livejournal.com:

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

За ссылки на HTML Form-атаку спасибо, буду изучать. Это для меня новый пласт. Правда запрет ходить на какие-то порты не защитит от echo-атаки. Можно поднять echo-сервис на любом порту, если я правильно понимаю её смысл.

bolk (bolknote.ru)
12 декабря 2009, 01:54, ответ предназначен maxim-zotov.livejournal.com:

Ага, прочитал про «Extended HTML Form Attack». Очень забавно. То есть кража куки с чужого сайта делается при помощи echo-сервиса этого сайта, если он конечно есть. Странно, что русскоязычных источников на эту тему я не вижу.

bolk (bolknote.ru)
12 декабря 2009, 02:00, ответ предназначен maxim-zotov.livejournal.com:

Правда, браузеру придётся отработать с нарушениями стандартов. Например, он должен, при указанном «Content-type: text/plan» всё-таки отобразить документ как HTML. Так делали IE 6 и ниже и какие-то древние версии «Оперы», что указано в статье.

Вторую статью я пролистал пока по диагонали, но. Все эти атаки работают с протоколом ftp или с использованием POST-запроса. В моём же случае, протокол HTTPS, а запрос сделан руками, прямой, без всякого POST.

maxim-zotov.livejournal.com (maxim-zotov.livejournal.com)
12 декабря 2009, 03:30, ответ предназначен bolk (bolknote.ru):

"при помощи echo-сервиса этого сайта, если он конечно есть"
Не только echo-сервиса, он приведен просто в качестве сферического примера.

Там ниже есть табличка с реальными сервисами и программами: Serv-U, WU-FTP, Imail, ProFTPD, QPOP.

Например:
$ telnet ftp.rbc.ru 21
Trying 80.68.240.41...
Connected to ftp.rbc.ru.
Escape character is '^]'.
220 ftp.rbc.ru FTP server ready
user <html><script>alert(document.cookie)</script>
331 Password required for <html><script>alert(document.cookie)</script>.

Теоретически в этом случае браузер мог бы выдать куки домена rbc.ru.

Практически же сейчас попробовал так сделать, послать форму с таким кодом на 21-ый порт (перед этим убрал запрет на работу с ним), Firefox-2 показывает вывод ftp-сервера как text/plain, поэтому ничего не происходит. В MSIE 6 тоже попробовал, выдаёт ошибку загрузки страницы, но у MSIE всегда одна и та же ошибка, поэтому не разберёшь, что именно ему не нравится, возможно, именно порт.

maxim-zotov.livejournal.com (maxim-zotov.livejournal.com)
12 декабря 2009, 03:37, ответ предназначен bolk (bolknote.ru):

"Можно поднять echo-сервис на любом порту, если я правильно понимаю её смысл."

echo-сервис не атакующий поднимает.

echo-сервис (или любой другой, выдающий в ответ то, что ему написали) должен работать в домене того сайта, с которого атакующий хочет получить куки. Если хочет получить куку yandex.ru, то на каком-то сервере *.yandex.ru должен работать такой сервис.

maxim-zotov.livejournal.com (maxim-zotov.livejournal.com)
12 декабря 2009, 04:27

О! Получилось. Просто нужно было в action ставить адрес с расширением html, тогда firefox (пробовал на 2 и 3) считает это html-страницей и выводит alert с куками.

http://support.li.ru/tmp/rbc.html

Перед этим в prefs.js файерфокса нужно записать строку:
user_pref("network.security.ports.banned.override", "21");

bolk (bolknote.ru)
12 декабря 2009, 17:46, ответ предназначен maxim-zotov.livejournal.com:

Я там писал комментарии по мере того как читал текст и разбирался. Теперь-то я до конца всё прочитал :)

bolk (bolknote.ru)
12 декабря 2009, 17:48, ответ предназначен maxim-zotov.livejournal.com:

Как я и сказал, достаточно было поднимать шум на POST-запросах и на протоколах, отличных от HTTP/HTTPS.

maxim-zotov.livejournal.com (maxim-zotov.livejournal.com)
12 декабря 2009, 18:24, ответ предназначен bolk (bolknote.ru):

Думаю, лучше перебдеть, чем пытаться понять, возможен ли взлом не через post или нет. Да и вообще, зачем нужно запускать http-сервис на порту, закреплённым за другим сервисом? Зачем нужно вносить дополнительную путаницу, если можно решить задачу прямым способом без извращений?

Вот, кстати, работающий пример воровства куки домена masterhost.ru безо всяких дополнительных разрешений портов: http://support.li.ru/tmp/mh.html
Это к вопросу о безопасности запуска сервисов вообще на любых нестандартных портах (1024+). А казалось бы, что может быть страшного от почты на порту 2525.

Конечно, кука мастерхоста никому не нужна, но всё-таки. У того же mail.ru тоже есть smtp на 2525, но голыми руками его не взять, он выдаёт ошибку, если ему приходит слишком много неправильных команд (http-заголовок).

bolk (bolknote.ru)
13 декабря 2009, 00:46, ответ предназначен maxim-zotov.livejournal.com:

В интранете многое может понадобится. Например, запустить ещё один HTTPS-сайт на том же IP. TLS SNI ещё далеко не все браузеры умеют. А порт был выбран случайным образом.

bolk (bolknote.ru)
13 декабря 2009, 00:48, ответ предназначен maxim-zotov.livejournal.com:

А чьи логин и пароль там светятся на странице mh.html?

maxim-zotov.livejournal.com (maxim-zotov.livejournal.com)
13 декабря 2009, 01:21, ответ предназначен bolk (bolknote.ru):

Какого-то идиота, которому пришло в голову опубликовать свой логин-пароль в интернете.

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

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

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