Основан 26 Июля 2013 года
freehacks.ru fhacks.me fhacks.pw fhacksnplmzxaaoo.onion
HashFlare
Показано с 1 по 1 из 1
  1. #1
    TopicStarter
    Аватар для Sler

    Статус
    Offline
    Регистрация
    22.06.2014
    Сообщений
    117
    Репутация
    27 + / -
    Другое

    Способы защиты от XSS

    Межсайтовый скриптинг (Cross site scripting, XSS)встраивание нежелательного кода в html-код
    страниц сайта. XSS можно условно разделить на пассивную и активную формы, которые мы рассмотрим ниже.


    Пассивый XSS


    Основан на том, что GET-параметры в ряде случаев
    становятся частью текста страницы.


    Например, мы имеем скрипт поиска search.php, содержащий следующий код:

    Код:
    <?php <br/>// начало скрипта <br/ >echo '<div>Вы искали: ' . $_GET
    ['query'] . '</div>'; <br/>//

    продолжение скрипта, отображение
    результатов поиска и.т.д <br/>?> Строк:
    1 Мы видим, что страница содержит заданный поисковой запрос.

    Если злоумышленник обратимся к скрипту search.php? следующим образом:

    Код:
     search.php? query=<a href="http:// example.com">my website</a> 
    То на странице результатов поиска будет присутствовать ссылка на
    example.com. Затем злоумышленник сообщит адрес такой страницы
    результатов поисковым системам, и они будут считать, что ваш сайт
    ссылкается на expample.com на одной

    из своих страниц.

    Приведеный пример используется недобросовестными поисковыми
    оптимизаторами для внешних ссылок на свой сайт.
    В данном случае никакого взлома не происходит.


    Пассивный XSS

    Можно использовать и для встраивания javascript-сценариев,
    похищающих номера сессии, использующиеся для авторизации.
    Ограниченности пассивного XSS в том, что требуется передать
    пользователю URL, содержащий специально сформированные GET-
    параметры. URL часто присылается пользователю в спам-письме, или же
    пользователь перенаправляется на данный URL с сайта, контролируемого
    злоумышленником.


    Активный XSS


    Работает на Web 2.0 сайтах, то есть на сайтах,
    содержимое которых создают сами пользователи.

    Нежелательные скрипты помещаются в сообщения на

    форумах, профиль пользователя или в личные сообщения.

    Например, в 2008 году на hаbгаhabr.ru получило

    хождение личное сообщение, которое содержало скрипт,
    отправляющий данное сообщение друзьям пользователя от его имени.


    Вредоносный javascript-сценарий обычно передает злоумышленнику
    номер сессии пользователя и информацию из его cookie, которая
    позволяет получить контроль над аккаунтом пользователя.


    Другие виды XSS


    Среди других видов XSS можно отметить подмену кодировки в формируемом документе.

    Это возможно при двух условиях:


    1. Пользовательская информация
    попадает в тег <title> в нефильтрованном виде (часто это
    ник пользователя или его имя на странице профиля)


    2. Тег title находится в документе до
    тегов meta, определяющих кодировку
    Более подробно можно прочитать
    про виды XSS в Википедии. Требования к обработке внешних
    параметров Чтобы не допустить межсайтовый
    скриптинг, следует внимательно фильтровать все данные,
    предоставляемые пользователем.

    Сформулируем ряд рекомендаций:


    * Никогда не включайте параметры $
    _GET, $_POST, $_COOKIE напрямую в
    выдаваемый HTML.

    Если это текст, имеет смысл обработать его с
    помощью htmlspecialchars(), если атрибут alt для рисунка, то addslashes(),
    если url — urlencode().
    Если пользователю разрешено использовать некоторые теги,

    протестируйте все варианты использования,
    чтобы в невозможности встраивания скриптов и вредоносного кода.



    * Пользовательские данные — это не
    только параметры $_GET, $_POST, $_
    COOKIE. Информация в базе данных, а
    также информация, полученная в результате обработки сторонних
    сайтов также может быть сформирована пользователем.


    * Не допускайте возможности загрузки произвольных файлов на сервер.
    Пользователь в таком случае сможет загрузить вредоносные
    скрипты и HTML-страницы.


    Загруженные пользователем файлы
    следует хранить в базе данных, а не в
    файловой системе, и перед отдачей пользователю проверять,
    что файл не будет исполняться браузером

    (Content-Type не должен
    соответствовать html, xml, и др.)


    * Чем шире функциональные
    возможности сайта, тем больше
    возможностей XSS следует рассмотреть в целях обеспечения
    безопасности сайта.
    Не обманешь судьбу и не купишь любовь
    Ни за жизнь, ни за смерть, ни за горсть серебра.
    И холодная сталь ляжет под ноги вновь
    Равновесием зла и добра.

  2. Пользователь сказал cпасибо:

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Информация на сайте предоставлена исключительно в ознакомительных целях, использование знаний в противозаконных целях преследуется по закону! Администрация не несет ответственности за ваши деяния.