Как запретить метод trace ?
доступен метод TRACE
Описание
С помощью использования метода TRACE в протоколе HTTP возможно выполнение атаки Cross-Site Scripting.
Решение
Запретить выполнение этого метода.
Кто-нибудь подскажет как это сделать?
Просканировал XSpiderом сервак. Он Выдал следующее:
доступен метод TRACE
Описание
С помощью использования метода TRACE в протоколе HTTP возможно выполнение атаки Cross-Site Scripting.
Решение
Запретить выполнение этого метода.
Кто-нибудь подскажет как это сделать?
Сервер какой? Апач?
Если да, то смотри доки на директивы Limit/LimitExcept
Сервер какой? Апач?
Если да, то смотри доки на директивы Limit/LimitExcept
В доках написано:
The TRACE method cannot be limited.
;(
В доках написано:
The TRACE method cannot be limited.
;(
Ты прав, официальное решение такое:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
Вот отсюда:
http://www.apacheweek.gamma.ru/issues/03-01-24
Вот описание уязвимости:
http://www.cgisecurity.com/whitehat-mirror/WH-WhitePaper_XST_ebook.pdf
Краткое описание:
При запросе методом TRACE Web-Server возращает всё, что было введено при запросе, включая HTTP-заголовки. В IE6 сделана защита от XSS(Cross-Site Scripting). Для этого, при установке cookie устанавливается HttpOnly, к примеру, document.cookie="my_cookie_var_pass=mypass:HttpOnly";
При чтении document.cookie, my_cookie_var не доступен. Но, можно, используя ActiveX можно сделать запрос TRACE к атакуемому сайту с заголовками браузера, и от туда можно прочитать эту переменную, так же, можно прочитать пароль на доступ в защищённую паролем зону, так как Web-Server принимает пароль в заголовке HTTP. Делая TRACE, мы получаем этот заголовок, так как он возращается обратно.
Естественно, нужно уметь выполнять JavaScript-код.