1

Если я напишу что-то вроде следующего в навигационную панель Mozilla Firefox, ничего не произойдет:

орг-протокол:// захват://p/http%3A%2F%2Fsuperuser.com%2Fquestions%2Fask/protocol%20in%20firefox%20does%20not%20take%20%22%252F%22%20as%20part% 20of% 20a% 20string% 20-% 20Super% 20User/

Когда я опускаю все %2F , URL обрабатывается нормально. Вызов emacsclient через терминал работает, включая %2F .

В некоторых предыдущих версиях Firefox этот протокол работал хорошо для каждого случая. Почему Firefox теперь распознает %2F в этом случае?

1 ответ1

0

Я считаю, что это функция безопасности. %2F как вы, возможно, знаете, является URL-кодировкой для косой черты / символа. Разрешение %2F по существу разрешает обход каталога, который идет "под радар", то есть он не дает пользователю ясно видеть, что он просматривает каталоги. Объедините это с позволением . символ, и вы можете сделать что-то неприятное, особенно если вы говорите о локальной файловой системе, где обратный путь в каталогах не строго ограничен, как это часто (но не всегда) осуществляется HTTP-серверами.

Вы помните конкретные версии Firefox, где это работало, и версии, где оно перестало работать? За прошедшие годы в Firefox было несколько исправлений безопасности, связанных с проверкой входных данных, для различных обходных путей. Ваш URI может отключить защитный код. Есть даже некоторые жалобы в некоторых ссылках ниже, что, в зависимости от конкретной версии, попытки исправления либо усугубили проблему, либо вызвали некоторые ложные срабатывания; т. е. код будет блокировать законные URI.

  1. http://www.securityfocus.com/bid/24191/references
  2. http://www.securiteam.com/securitynews/5LP011FLPC.html
  3. http://www.securiteam.com/securitynews/5CP0M0UN5A.html
  4. http://www.mozilla.org/security/announce/2011/mfsa2011-16.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .