11.07.2015 Views

ПРИНТЕРЫ СЕГОДНЯ - Xakep Online

ПРИНТЕРЫ СЕГОДНЯ - Xakep Online

ПРИНТЕРЫ СЕГОДНЯ - Xakep Online

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Взлом82ХАКЕР 04 /171/ 2013Данный вариант, несмотря на сложность эксплуатации (необходимыдействия пользователя), очень удобен не только дляперенаправления пользователя, но и для получения значенийпараметров формы или ссылки. Например, получив сессионныйCSRF-токен, можно подделать запрос от клиента непосредственнов первом же ответе на запрос, полученный в результатеUI Redress атаки.HTTP Response SplittingПример:Location: http://example.com[Request-Path]/newДополнительные условия:URL-декодирование перед попаданиемв HTTP-заголовокЭксплуатация:http://example.com/%0ASet-Cookie:x=x%0AX:/%2E%2EРезультат:Location: http://example.com/Set-Cookie:x=xX:/newБраузеры:Safari, Internet Explorer (используяPT-2013-04), Firefox (из-за особенностейобработки реализация возможна не всегда)Несмотря на наличие дополнительных условий, данный вариантне является надуманным и периодически встречаетсяв реальных приложениях.Cross Site ScriptingПример 1varurl = '[Request-Path]';Эксплуатация:http://example.com/'+alert(document.cookie)+'/%2E%2EРезультат:varurl = ''+alert(document.cookie)+'/%2E%2E';Браузеры:Safari, Internet Explorer (используя PT-2013-04)Пример 2Эксплуатация:/redirect/?r=http://example.com/">/%252E%252E/%252E%252E/Результат:/%2E%2E/%2E%2E/"/>Браузеры:Internet Explorer (используя PT-2013-04)Internet Explorer Chrome Opera Safari Firefox//host.com/\/host.com//\host.com//[HT]/host.com/\[HT]\host.com///host.com/\/host.com//\host.com////host.com/\/\host.com//\/host.com//[HT]/host.com/Таблица 6. Примеры значений заголовка LocationВ примере 2 представлен довольно популярный вариант с попаданием на страницуRequest-Path без каких-либо обработок непосредственно из запроса, однако из-за URLкодированиябраузерами символов ", в пути к сценарию эксплуатация данной уязвимостивозможна только в Internet Explorer через обнаруженную ошибку, позволяющую избежатькодирования Request-URI.ДЕТЕКТИРОВАНИЕВ большинстве случаев если веб-приложение использует Request-URI для формированияконтента HTTP-ответа, то это происходит повсеместно, поэтому для обнаружения такихпроблем достаточно послать от одного до пяти запросов. Первым запросом проверяется,поддерживает ли веб-сервер нормализацию пути, в случае если в Request-Path содержатсяpath traversal конструкции.GET/[unique_string]/../ HTTP/1.1//host.com/ //host.com/ //host.com////host.com/Остальные запросы отсылаются в зависимости от того, присутствует ли в HTTP-ответе[unique_string] и в какой именно части ответа эта строка находится.При этом необходимо уделить особое внимание сценариям перенаправления (с/folder на /folder/, с example.com на www.example.com, с http на https) и страницам отображенияошибок 4xx, 5xx, так как это наиболее популярные места, подверженные такимуязвимостям.MICROSOFT INTERNET EXPLORERРассмотрим более подробно особенности обработки заголовка Location в Internet Explorerи то, как их можно использовать для эксплуатации уязвимостей. К сожалению, мое пониманиеуязвимости не совпало с мнением Microsoft, и они назвали данные особенности обработкиошибкой, а не уязвимостью, несмотря на все мои попытки доказать обратное :).Необходимо заметить, что эта ошибка обработки присутствует во всех протестированныхверсиях браузера Internet Explorer от 5.5 до 10.Некорректная обработка Request-Path позволяет не только использовать спецсимволыбез кодирования, но и обходить встроенный XSS-фильтр. Пример:index.jspredirect.jspПри обращении к сценарию redirect.jsp произойдет следующий запрос:GET /xss//%2e%2e/%2e%2e/А при формировании ссылки для адресной строки Request-Path вновь будет обработан иpath traversal конструкции будут вырезаны. Таким образом, XSS-фильтр не обнаружит опасныхконструкций и пропустит данный запрос. Также при использовании URL-кодированногохоста в заголовке Location происходит некорректное декодирование, например:Location: http://%77%77%77%2E%6D%69%63%72%6F%73%6F%66%74%2E%63%6F%6D/testОбработка хоста происходит следующим образом:1. Исходный хост%77%77%77%2E%6D%69%63%72%6F%73%6F%66%74%2E%63%6F%6D2. URL-декодированиеРис. 2. Подделка порта открытой вкладки IEчерез ошибку обработки Locationwww.microsoft.com3. Наложение декодированного значения на оригинальное

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!