Могу ли я в шестнадцатеричном редактировать файл в Visual Studio?

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

Проблема

Межсайтовый скриптинг является непреднамеренным выполнение удаленного кода веб-клиентом. Любое веб-приложение может оказаться в XSS, если оно принимает входные данные от пользователя и выводит его непосредственно на веб-страницу. Если вход включает HTML или JavaScript, удаленный код может быть выполнен, когда это содержимое отображается веб-клиентом.

Например, если сторонняя сторона содержит файл JavaScript:

// http://example.com/runme.js
document.write("I'm running");

И приложение PHP напрямую выводит строку, переданную в нее:

' . $_GET['input'] . '
';

Если параметр unchecked GET содержит , то вывод скрипта PHP будет:

Идет запуск стороннего JavaScript, и пользователь увидит «Я запущен» на веб-странице.

Решение

Как правило, никогда не доверяйте вводам, поступающим из клиент. Каждое значение GET, POST и cookie может быть вообще чем угодно и поэтому должно быть проверено. При выводе любого из этих значений удалите их, чтобы они не были оценены неожиданным способом.

Имейте в виду, что даже в простейших приложениях данные могут перемещаться, и будет сложно отслеживать все источники. Поэтому лучше всего использовать escape-выход always .

PHP предоставляет несколько способов избежать вывода в зависимости от контекста.

Функции фильтра

Функции фильтра PHPs позволяют входным данным для скрипта php быть дезинфицированным или проверенным в многими способами ]. Они полезны при сохранении или выводе на вход клиента.

Кодировка HTML

htmlspecialchars преобразует любые специальные символы HTML в их кодировки HTML, то есть они будут тогда не обрабатывается как стандартный HTML. Чтобы исправить наш предыдущий пример, используя этот метод:

' . htmlspecialchars($_GET['input']) . '
'; // or echo '
' . filter_input(INPUT_GET, 'input', FILTER_SANITIZE_SPECIAL_CHARS) . '
';

Вывод:

<script src="http://example.com/runme.js"></script>

Все, что находится внутри тега

, будут интерпретироваться not как тег JavaScript браузером, а вместо этого как простой текстовый узел. Пользователь будет безопасно видеть:


Кодировка URL

При выводе динамически сгенерированного URL PHP предоставляет функцию urlencode для безопасного вывода допустимых URL-адресов. Например, если пользователь может вводить данные, которые становятся частью другого параметра GET:

Link';

Любой вредоносный ввод будет преобразован в параметр кодированного URL.

Использование специализированных внешних библиотек или списков OWASP AntiSamy

Иногда вам нужно отправить HTML или другие входы кода. Вам необходимо будет сохранить список авторизованных слов (белый список) и неавторизованный (черный список).

Вы можете загружать стандартные списки, доступные на веб-сайте OWASP AntiSamy . Каждый список подходит для определенного вида взаимодействия (ebay api, tinyMCE и т. Д.). И это с открытым исходным кодом.

Существуют библиотеки, которые могут фильтровать HTML и предотвращать атаки XSS для общего случая и выполнять как минимум, так и списки AntiSamy с очень простым использованием. Например, у вас есть HTML Purifier

142
задан Peter Mortensen 12 December 2018 в 09:06
поделиться

1 ответ

  1. Menu FileOpenFile
  2. Select the file to be opened
  3. On the open file dialog at the bottom there is a down arrow on the "Open" button
  4. Click "Open With..."
  5. Click "Binary Editor"
  6. Click OK

Or for the keyboard geeks out there:

  1. Ctrl + o
  2. Ctrl + v (paste filename)
  3. tab
  4. tab
  5. w
  6. b
  7. Enter
266
ответ дан 23 November 2019 в 22:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: