Является ли вход XSS угрозой, если его увидит ТОЛЬКО один и тот же пользователь? - PullRequest
4 голосов
/ 01 июня 2011

Что именно может получить злонамеренный пользователь, если введенный им ввод XSS будет просматриваться только им? Есть ли что-нибудь, что он может получить?

Я понимаю, как проблема XSS, когда злонамеренный пользовательский ввод будет просматриваться всеми пользователями сайта. Но если каждый пользователь просматривает только свой ввод, его вредоносный ввод будет просматривать только он, поэтому мои вопросы:

  • может ли это как-то косвенно повлиять на других пользователей?
  • что он может получить от этого?

Ответы [ 6 ]

6 голосов
/ 01 июня 2011

Что злоумышленник может получить, увидев, что вектор атаки xss, который он обнаружил, работает, просто так :-) Но!Затем он может использовать этот вектор атаки, и есть несколько способов сделать это.

Если это непостоянная уязвимость XSS (она также отражена), то, вероятно, отправив ссылку (скорее всего, запутанную через urlshortener)потенциальным жертвам.Если это постоянная уязвимость XSS (то есть хранится в виде комментария, подобного тому, который я пишу сейчас), тогда он просто сделает свой пост и ждет.

Теперь, что он может получить, это большой разговор.Подумайте, что вы могли бы сделать, если бы вы могли вставить тег скрипта в веб-страницу.Затем вы можете загрузить весь файл javascript с вашего сервера.

Вредоносный код может украсть некоторые файлы cookie (если они не установлены httponly ) и немедленно опубликовать их через ajax на серверной части.приложение, которое, вероятно, уведомит злоумышленника, и кто знает, что этих файлов cookie может быть достаточно для входа на этот веб-сайт в качестве жертвы.

Что ж, есть много вещей, которые может сделать злоумышленник, поэтому, пожалуйста, устранитевсе ваши уязвимости XSS.

Уязвимости XSS в основном используют доверие людей к другим веб-сайтам.Не стоит недооценивать уязвимости XSRF , которые зависят от доверия вашего веб-сайта к вашему браузеру (еще один большой разговор) и атак Sql Injection.

Несколько советов (я уверен, что вызнать все об этом, но ради полноты:

  • установить httponly в файлах cookie, которые вы используете для аутентификации пользователей
  • использовать htmlentities при печати ввода пользователя обратно на ваш вывод
  • используйте mysql_real_escape_string перед сохранением пользовательского ввода в вашу базу данных
  • , не выполняйте критические действия (например, сохраняйте / удаляйте / изменяйте статьи), используя запросы GET..use POST для этих (xsrf).

Удачи!

ОБНОВЛЕНИЕ:

Несколько инструментов, которые могут помочь:

  • Плагин Chrome: Websecurify
  • Плагин Firefox: xss-me
  • Приложение для Windows: NetSparker Community Edition (бесплатно)
  • X-платформа: SkipFish , wapiti
  • Nessus

(Я рекомендую SkipFish)

2 голосов
/ 01 июня 2011

+ 1 на то, на что указал @Gumbo - отражает XSS, но также учитывает сценарий, когда учетная запись пользователя скомпрометирована, и злоумышленник предоставляет вредоносный ввод, который будет возвращен (законному) пользователю, когда он или она вернется в сайте.

Просто еще один потенциальный вектор атаки ...

2 голосов
/ 01 июня 2011

Да, это определенно так. Инъекция может быть инициирована третьей стороной, как в случае с отраженным XSS .

2 голосов
/ 01 июня 2011

Наверное, нет, но это не A / B вещь.Кто знает, ЧТО делает «сценарий» часть этого «XSS».Возможно, злоумышленник обнаружил уязвимость в вашем AJAX / javascript, и он использует атаку типа XSS, чтобы получить инструментарий на вашем хосте.Опять же, мы можем рассуждать о том, какой вред может быть нанесен атаками инъекционного типа в течение всего дня, суть в том, что если вы можете защититься от него, сделайте это.Каждый трюк, который мы можем придумать, будет одним уловкой из списка, который использует злоумышленник.

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

1 голос
/ 01 июня 2011

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

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

0 голосов
/ 02 июня 2011

Я думаю, вы спрашиваете:

  1. Может иметь отраженный (XSS) код влияние на других посетителей до раздача ссылки - т.е. во время тестирования

    и

  2. Какое преимущество может дать такое тестирование? достичь для злоумышленника

Если я правильно вас читаю, мой ответ будет следующим:

  1. XSS о работе на стороне клиента код - обычно JavaScript - в ничего не подозревающий браузер пользователя и не повлияет на других пользователей за то, что достигается либо распространяя его по ссылке, убедить пользователя ввести его непосредственно или найти способ для этого сохраняться на данной странице.

    Если вы спрашиваете, может ли это вызвать некоторую форму выполнения команды на сервере это будет код впрыск или командный впрыск скорее чем XSS; злоумышленник будет либо нужно быть достаточно удачливым открыть сайт использует JavaScript на стороне сервера или быть плохим достаточно кодирования, что они на самом деле делать что-то полностью отличается от того, что они думали!

    В любом случае, для этого потребуется сайт, чтобы быть уязвимым для этой формы впрыска и выходит за рамки о чем XSS.

  2. Если мы говорим о XSS, тестирование позволяет злоумышленник правильно крафт их окончательный код / ​​ссылка, так что это настолько скрыт, насколько это возможно, и делает какой бы злой поступок они не намеревались к.

    Если кто-то или какая-то система не внимательно следя за бревнами например, несколько странных HTTP-запросов, злоумышленник сможет совершенствовать свой подвиг так, чтобы когда их твит / электронная почта / что бы ни пошло вирусный имеет желаемый эффект.

НТН

...