Уязвимости межсайтового скриптинга для onmouseover в URL - PullRequest
0 голосов
/ 29 августа 2018

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

Acunetix пометил следующий URL как XSS, добавив код javacript

http://www.example.com/page-one//?'onmouseover='pU0e(9527)

Доклад:

GET / page-one //? 'Onmouseover =' pU0e (9527) 'bad =' HTTP / 1.1 Рефере: https://www.example.com/ Подключение: keep-alive Авторизация: Basic FXvxdAfafmFub25cfGb = Принимаем: / Accept-Encoding: gzip, выкачать Хост: example.com

Итак, как это может быть уязвимо или возможно, что оно уязвимо?

Прежде всего, если onmouseover можно добавить в качестве XSS, то как это повлияет?

1 Ответ

0 голосов
/ 31 августа 2018

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

Главный вопрос, который я вижу:

Может ли еще быть XSS-уязвимость в строке запроса, если я не использую какие-либо параметры в своем коде?

Ну, если они на самом деле вообще не используются, то это не должно быть возможным. Однако , есть тонкие способы, которыми вы могли бы их использовать, которые вы могли упустить из виду. (Размещение фактического исходного кода будет полезно здесь).

Один пример будет примерно таким:

Response.Write("<a href='" + 
HttpContext.Current.Request.Url.AbsoluteUri) + "'>share this link!</a> 

Это поместит весь URL в тело веб-страницы. Злоумышленник может использовать строку запроса, даже если они не сопоставлены с переменными, поскольку в ответе записан полный URL-адрес. Имейте в виду, что это также может быть в скрытом поле.

Будьте осторожны, записывая значения, такие как HttpContext.Current.Request.Url.AbsoluteUri или HttpContext.Current.Request.Url.PathAndQuery.

Несколько советов:

  • Убедитесь, что сканер не сообщает о ложном срабатывании, открыв ссылку в современном браузере, таком как Chrome. Проверьте консоль на наличие ошибки «XSS Auditor» или аналогичной.
  • Используйте библиотеку antixss для кодирования ненадежного вывода перед записью в ответ.
  • читать это: https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet
...