что значит строка "rewriterule .* - [f]" ?

Тема в разделе "Веб-серверы - Администрирование", создана пользователем EmptyR, 10 янв 2011.

  1. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    RewriteCond %{REQUEST_METHOD} ^TRACE
    RewriteRule .* - [F]

    Первая строчка понятна, "если метод запроса к сайту - TRACE, то...", а что насчёт второй строки? Вроде как всё вместе блокирует TRACE запросы, но хотелось бы узнать, что именно происходит.
     
  2. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    Если трейс, то не откроется ни одна страница.
    [F] от слова Forbidden. Вернет 403 ошибку. А зачем это?
     
  3. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    Да я ж занялся изучением "вглубь" всяких способов атак на сайты, вот прознал про этот метод, сижу изучаю, нашёл ж как бороться.

    Добавлено: Кстати, спасибо vital за быстрый ответ! :)
     
  4. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    Может кто нибудь параллельно даст совет, как с помощью PHP выполнить TRACE запрос, и куда нибудь его записать?
     
  5. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    Мм.. Ну как и любой другой хттп запрос - сокетом.
    Код (PHP):
    <?php
    $fp = fsockopen('localhost', 80); //Подсоединяемся с хосту "localhost" на 80-й порт
    if($fp)
    {
    //Соединение создано, всё в порядке
    fputs($fp, "TRACE / HTTP/1.1
    Host: mail.ru
    X-Header: test
    "
    );

    echo '<pre>'; //Что бы нам было лучше видно заголовки, которые отдаст сервер
    while(!feof($fp)) echo fgets($fp); //Выводим ответ сервера
    echo '</pre>';

    fclose($fp); //Закрываем сокет
    }
    ?>
     
  6. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    Что то я совсем уже плох стал. Думал, что сокетами не получится, ибо TRACE не стандартная команда.
    Спасибо vital ещё раз, ты у меня прямо сегодня ангел спаситель, получай повышение:ya_lamo:
     
  7. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    Команда стандартная, просто запрещенная многими серверами=)
    А отправляется она так же как и любая другая.
     
  8. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    Ок, спасибо :ya_lamo:
     
  9. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    М... Не получается у меня выудить с сервера то, что он по идее должен мне дать.
    С помощью Acunetix Web Vulnerability Scanner выяснил, что сайт eniology.org может поддерживать TRACE запросы. Значит, если так, в ответе сервера должны выводиться куки.. Но что то они вообще не выводятся...
    Вот мой код:
    Код (PHP):
    <?php
    $fp = fsockopen("eniology.org", 80);
    if ($fp) {
    $out = "TRACE / HTTP/1.1\r\n";
    $out .= "Host: eniology.org\r\n";
    $out .= "Connection: Close\r\n\r\n";
    fwrite($fp, $out);
    while (!feof($fp)) {
    echo "<br>".fgets($fp);
    }
    fclose($fp);
    }
    ?>
    Что не так? Вроде какие то заголовки получаю, но не куки.
    Два варианта, либо я не прав, либо программа нагло врёт.
     
  10. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    Покажи вывод. И с чего ты решил, что вот прямо так должны?) А что если они вообще там не ставятся, или на них стоит httponly?)
     
  11. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    Код (Text):
    HTTP/1.1 200 OK
    Server: nginx/0.4.13
    Date: Mon, 10 Jan 2011 20:50:27 GMT
    Content-Type: message/http
    Transfer-Encoding: chunked
    Connection: close

    TRACE / HTTP/1.0
    X-Real-IP: 217.107.34.41
    X-Forwarded-for: 217.107.34.41
    Host: eniology.org
    Connection: close
    Добавлено: М... Действительно, httpOnly стоит. Значит можно сказать, что TRACE метод поддерживается, но не возможно с его помощью получить куки. Но на том сайте есть одна XSS, которая и без TRACE может спалить все куки. :ya_lamo:
     
  12. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    покажи вообще, что ты читаешь, по чему учишься?
     
  13. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    Смотри, вот что мне выдаёт сканер: [​IMG]
    Я вижу, что есть такая уязвимость, пытаюсь её реализовать самостоятельно. Но как то не получается, хотя программа утверждает, что уязвимость есть.
     
  14. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    Ну посмотри заголовки, которые посылает прога, и какие ты. Хз, если честно
     
  15. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    Хм... Есть оочень интересный момент. Дело в том, что прога позволяет показывать заголовки, которые были отданы серверу и получены. Они выглядят так:
    Код (Text):
    [b]Request[/b]
    TRACE /BVrMG5UZuO HTTP/1.1
    Host: eniology.org
    Connection: Keep-alive
    Accept-Encoding: gzip,deflate
    User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)

    [b]Response[/b]
    HTTP/1.1 200 OK
    Server: nginx/0.4.13
    Date: Mon, 10 Jan 2011 09:17:38 GMT
    Content-Type: message/http
    Connection: keep-alive
    Content-Length: 220
    Как видно, в заголовках нету куки.
     
  16. vital

    vital Больной Компом Детектед
    Команда форума Web Team

    Регистрация:
    29 янв 2006
    Сообщения:
    2.474
    Симпатии:
    27
    твой сайт их не исполбьзует.
     
  17. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    А что насчёт http://eniology.org/contacts.php ? У меня при посещении этой страницы возникает PHPSESSID.
     
  18. EmptyR

    EmptyR Веб мастер

    Регистрация:
    6 окт 2010
    Сообщения:
    221
    Симпатии:
    0
    Пробовал через другие программы делать запросы, та же история... Кажется, программу попросту глюкнуло, что она решила, что можно провести TRACE запрос удачно.
     
Загрузка...

Поделиться этой страницей