Учебники

AJAX Security

Асинхронный Javascript и XML (AJAX) — один из новейших методов, используемых для разработки порядка веб-приложений, чтобы обеспечить богатый пользовательский опыт. Поскольку это новая технология, существует множество проблем безопасности, которые еще предстоит решить, и ниже приведены несколько проблем безопасности в AJAX.

  • Поверхность атаки больше, так как есть больше входных данных для защиты.

  • Он также раскрывает внутренние функции приложений.

  • Неспособность защитить информацию аутентификации и сеансы.

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

Поверхность атаки больше, так как есть больше входных данных для защиты.

Он также раскрывает внутренние функции приложений.

Неспособность защитить информацию аутентификации и сеансы.

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

пример

Вот пример для AJAX Security —

В 2006 году червь заразил почтовую службу Yahoo, использующую XSS и AJAX, которая воспользовалась уязвимостью при обработке событий загрузки Yahoo Mail. Когда было открыто зараженное письмо, червь выполнил свой JavaScript, отправив копию всем контактам Yahoo зараженного пользователя.

Руки вверх

Шаг 1 — Нам нужно попытаться добавить больше вознаграждений к разрешенному набору вознаграждений, используя внедрение XML. Ниже приведен снимок сценария.

xml_injection

Шаг 2 — Убедитесь, что мы перехватываем как запрос, так и ответ, используя Burp Suite. Настройки такие же, как показано ниже.

burp_settings

Шаг 3 — Введите номер счета, указанный в сценарии. Мы сможем получить список всех наград, на которые мы имеем право. Мы имеем право на 3 награды из 5.

xml_injection1

Шаг 4 — Теперь давайте нажмем «Отправить» и посмотрим, что мы получим в ответном XML. Как показано ниже, три награды, которые мы имеем право, передаются нам в виде XML.

xml_injection2

Шаг 5 — Теперь давайте отредактируем эти XML и добавим еще две награды.

xml_injection3

Шаг 6 — Теперь все награды будут отображаться пользователю для их выбора. Выберите те, которые мы добавили, и нажмите «Отправить».

xml_injection4

Шаг 7 — Появляется следующее сообщение: «* Поздравляю. Вы успешно завершили этот урок».

Профилактические механизмы

Клиентская сторона —

  • Используйте .innerText вместо .innerHtml.
  • Не используйте eval.
  • Не полагайтесь на логику клиента для безопасности.
  • Избегайте написания кода сериализации.
  • Избегайте динамического построения XML.
  • Никогда не передавайте секреты клиенту.
  • Не выполняйте шифрование в коде на стороне клиента.
  • Не выполняйте логику, влияющую на безопасность, на стороне клиента.

Сторона сервера —