Странное поведение RewriteRule

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем Fl1N, 15 сен 2010.

Статус темы:
Закрыта.
  1. Fl1N

    Fl1N Постоялец

    Регистр.:
    14 мар 2009
    Сообщения:
    128
    Симпатии:
    8
    Здравствуйте товарищи!

    Итак, суть моей проблемы:

    Имеется данная условие в .htaccess:
    PHP:
    RewriteRule (.*) /?var=$[L]
    Для того, чтобы работали ссылки вида: mysite.ru/page, но если подставить вместо page например вот это:
    PHP:
    <script>alert(/hack/)</script>
    , то данный JS код выполняется. Данная переменная $_GET['var'] фильтруется, т.е. по адресу www.mysite.ru/?var=<script>alert(/hack/)</script> JS код не выполняется. Теперь вопрос: Почему JS код выполняется и является ли это потенциальной XSS атакой.

    Заранее прощу прощения, если вопрос слишком тупой.
     
  2. ShoxMaster

    ShoxMaster

    Регистр.:
    3 дек 2008
    Сообщения:
    393
    Симпатии:
    150
    Как это понять?:confused:
    Надо просто запретить символы <> в .htaccess или файле, в котором идём обработка:
    Код:
    RewriteCond %{REQUEST_URI} [^<>]$
    Только не имел возможности проверить, потому что <> сразу блочится хостом, для редактирования http.conf или apache.conf недостаточно полномочий.
    Нужно добавить это в перед вашим RewriteRule. т.к. исполняемый код на вашем сайте - это потенциальная угроза безопасности вашему сайту, умелых рук в интернете достаточно.
     
Статус темы:
Закрыта.