Интерпретация предупреждения сканирования безопасности JavaScript - PullRequest
0 голосов
/ 11 января 2012

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

Имя пользователя GET для ввода URL в кодировке было установлено на «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 и захват учетной записи, выдавая себя за пользователя. Также возможно изменить содержимое страницы, представленной пользователю. "

Ответы [ 3 ]

0 голосов
/ 11 января 2012

Все, что может заменить ваш код SQL (поиск SQL-инъекций).Вещи, которые могут быть записаны на экран в качестве выходного HTML.Вы можете контролировать оба случая, экранируя свои входные данные.

0 голосов
/ 11 января 2012

Посмотрите на наличие сценариев перекрестного видения, внедрения javascript и sql для некоторых эксплойтов в вашей системе.

Все пользовательские данные должны быть проверены и обработаны как ненадежные данные перед пересылкой на ваш сервер.

0 голосов
/ 11 января 2012

Вы не цитировали разметку, но, по-моему, я бы сказал, что у вас неправильно сформирован тег input для ввода "username". Например, возможно, ему не хватает закрывающего " атрибута value, а текст, который вы видите в кавычках, следующий за ним.

Не будет ли какой-либо введенный код выполняться только на клиентском ПК, а не на сервере?

Это полностью зависит от того, что вы с ним делаете. Если вы передадите его чему-то другому, которое его интерпретирует (например, базе данных, интерпретирующей SQL), то вы будете открыты для атак таким образом. Этот тип атаки называется атакой SQL-инъекции ( статья | карикатура ).

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