Является ли этот код уязвимым для XSS? (Форма авто-постов под нагрузкой) - PullRequest
1 голос
/ 08 сентября 2011

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

Это все делается при загрузке страницы. Есть ли потенциал для XSS?

<script>
    function autoSubmit(){
        var url = ... /* retrieve URL from querystring parameter */
        document.getElementById("txt").value = url;
        document.getElementById("myform").submit();
    }
</script>
<!-- ...... --->
<body onload="autoSubmit()">
<form id="myform" name="myform" method="POST" action="http://www.mysite.com/someform.php">
 <input id="txt" name="txt" type="hidden" value="" />
</form>
</body>

Ответы [ 2 ]

1 голос
/ 08 сентября 2011

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

Сайт, вероятно, уязвим к какой-либо форме XSRF по обычным причинам XSRF:

  • Я предполагаю (поскольку вы упомянули запроспараметры) вы загружаете эту страницу через HTTP GET, но это напрямую приводит к POST, который (вероятно) каким-то образом изменяет данные.Пользователи могут быть обмануты, щелкнув ссылку со злыми параметрами (sessiontealing?)
  • Опять же: если вы не приняли никаких других мер предосторожности, публикация из удаленного местоположения может иметь тот же эффект.1010 * Более подробный анализ потребует просмотра вашего someform.php
0 голосов
/ 08 сентября 2011

ЛЮБОЙ ввод со стороны клиента уязвим для xss. Любой код, чтобы избежать этого на стороне клиента (скрытие ввода и т. Д.), Можно легко обойти с помощью плаката FireFox.

Я не думаю, что то, что у вас здесь (получение параметра строки запроса в переменную и затем отправка через данные формы), особенно уязвимо для XSS только потому, что использование этого каким-либо образом только позволит злоумышленнику испортить представление своего собственного представления. (в каком случае, кого это волнует?). Могу ли я придумать конкретное значение параметра url, которое нарушит визуализацию страницы? Это возможно? Я не знаю ... но это не имеет значения.

Это не имеет значения, потому что это не то, где XSS вступает в игру. Уязвимости XSS не проявляются ни одним пользователем, выполняющим публикацию формы. Они становятся проблемой, когда значение рассматриваемого входного параметра отображается в месте, где его могут видеть пользователи, отличные от злонамеренного. Итак, показывает ли это уязвимость XSS, полностью не зависит от кода, который вы здесь предоставили. Это зависит от того, что вы делаете с параметром post из формы, и от того, как вы отображаете содержимое этого значения на своем сайте.

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