XSS Javascript защита - PullRequest
       1

XSS Javascript защита

2 голосов
/ 25 января 2012

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

<a href="http://www.mysite.com/custompage.html?width=100&height=200&param1=abc&param2=http://www.anothersite.com&param3=custom3">open modal</a>

Сайт работает нормально и никаких проблем, мой custompage.html просто выбирает те значения, которые были переданы и используются на странице, что-то вроде этого:

var a = customfunctionget(param1); var b = customfunctionget(param2)....

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

><script>alert(123)</script><param 

Что я правильно понимаю, что должно происходить, но в любом браузере, в котором я пытаюсь внедрить скрипт, предупреждение никогда не отображается, поэтому «скрипт / инъекция» не обрабатывается, файл custompage.html перестает работать, как ожидается, так как мы нужно, чтобы значения были введены правильно, но я ничего не могу с этим поделать.

Есть ли волшебная таблетка, которую мне здесь не хватает? Большая часть информации XSS, которую я нахожу, делает то же самое, пытаясь внедрить предупреждение через тег, но кроме меня, отказываясь отображать какой-либо контент, если параметр не сформирован правильно, я не знаю, что еще можно сделать.

Любые рекомендации, учебники приветствуются.

Ответы [ 2 ]

2 голосов
/ 25 января 2012

Одна из самых простых вещей, которую вы можете закодировать всеми <, > и & символами с &lt;, &gt; и &amp; соответственно. Всякий раз, когда браузер видит <something>, он считает его элементом dom. Если вы закодируете эти символы, браузер фактически отобразит их. Это помешает людям, пытающимся выполнить <script>badstuff</script> на вашем сайте.

Обратите внимание, что люди не смогут делать такие вещи, как добавление тегов <b> к вещам, если вы сделаете это.

Приведенное выше предложение является первым шагом, но ни в коем случае не является исчерпывающим.

Я только что нашел это, которое похоже на хорошее руководство .

0 голосов
/ 27 октября 2014

В Javascripts есть функция encodeURIComponent () для кодирования специальных символов во избежание вставки скриптов

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