Використання методу TRACE для здійснення XSS/SCC атаки

Зараз існує ціла серія програмних сканерів безпеки які цілком якісно можуть провести діагностику захисту сервера. В більшості серверів сканер видає повідомлення про наявність(функціонування) методу trace. Чомусь прийнято вважати, що це діра в захисті і її можна використати для взламування. Це правда, але часково. Метод TRACE призначений для діагностики мережі. Принцип роботи приблизно наступний – клієнт відсилає серверу певну інформацію, а сервер у свою чергу відпраляє отриману інформацію назад. Якщо в результаті була отримана видозмінена інформація – що десь не спрацювало. Проте цей метод був використаний для здійснення XSS атак: в TRACE запиті на сервер передаються кукіси, якщо вони є. Тому можна запит перехватити і витягнути звідти все що потрібно.
Ось як працює метод:
[andrukhiv@sbu]$ telnet mail.ru 80
Trying 194.67.57.51...
Connected to mail.ru.
Escape character is ‘^]’.
TRACE / HTTP/1.1
Host: mail.ru
X-Header: test

HTTP/1.1 200 OK
Date: Tue, 04 Feb 2003 16:11:06 GMT
Server: 3WservRT 2001,VxWorks 5.4
Transfer-Encoding: chunked
Content-Type: message/http

TRACE / HTTP/1.1
Host: mail.ru
X-Header: test
А працювати з методом можна з допомогою скрипта, який фільтр it.ridne.net не пропустив - тому, доведеться відкривати книжки і вчитися.
Результат роботи скрипта я б показав, але на жаль не знаю як до поста прикріпити рисунок( я вже хлоп старий і саабражалка вже не так добре працює). Тому доведеться читачу самому запускати скрипт, якого тут нема:-).
Відключити метод досить просто:

mod_rewrite

RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]

По замовчуванню метод є увімкнений. Доцільно його відключити, якщо використовуються кукіси і не використовується сам метод. Так, наприклад, такі сервери мають і кукіси і підтримку методу TRACE:
www.yahoo.com
www.sun.com
www.oracle.com
www.ibm.com .
Тому, як не крути а найважливішим залишається якість коду інтернет проекту.

© Інформаційні технології. Аналітика , Рідна Мережа