, JavaScript для хакеров

JavaScript для хакеров. Научитесь думать как хакер

Гарет Хейс

 Состав исполнителей

Автор
Гарет Хейс

 Об авторе

Исследователь PortSwigger Гарет Хейс, вероятно, наиболее известен своей работой по выходу из песочниц JavaScript и созданию сверхэлегантных векторов XSS. Когда он не является соавтором книг (например, недавней книги Запутывание веб-приложений), Гарет является отцом двух замечательных девочек и мужем замечательной жены, а также ярым болельщиком футбольного клуба "Ливерпуль".

В своей повседневной жизни в PortSwigger Гарета часто можно обнаружить за созданием новых векторов XSS, исследованием новых методов атаки на веб-приложения и подготовкой к выступлениям на конференциях по всему миру. Недавним ярким событием стала его презентация Волшебные трюки XSS на OWASP Allstars Amsterdam, 2019. Он также является автором Шпаргалки PortSwigger по XSS. В свободное время он любит писать новые расширения для BApp (он является создателем Hackvertor и Taborator).

 О книге

Вы когда-нибудь задумывались, как хакеры подходят к поиску недостатков в браузере и JavaScript? В этой книге рассказывается о процессах размышления и предоставляются инструменты поиска собственных недостатков. В ней рассказывается об основах взлома JavaScript, а потом подробно рассматривается, как создавать полезную нагрузку JavaScript, не применяющую круглые скобки.

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

  • Хотите взломать DOM? Вам поможет эта книга.

  • Не представляете себе как осквернять прототип на стороне клиента? Эта книга для вас!

  • Желаете изучить новейшие и наилучшие методы XSS? Вам необходимо приобрести эту книгу!

 Содержание

О книге
Глава 1. Введение
Среда
Установка цели
Распыление
Постоянство и удача
Социальная среда
Основы
Шестнадцатеричные
Unicode
Восьмеричные
Оценка и экранирование
Строки
Вызов и применение
Выводы
Глава 2. JavaScript без скобок
Вызов функций без скобок
Вызов функций с параметрами без скобок
Выражения Throw
Шаблоны с тегами
Символ hasInstance
Выводы
Глава 3. Распыление
Истина
Распыление URL JavaScript
Распыление URL HTTP
Распыление HTML
Распыление известного поведения
Распыление экранированной последовательности
Выводы
Глава 4. DOM для хакеров
Где моё окно?
Область действия события HTML
Затирание DOM
Эксплуатация фильтра
Затирание document.getElementById()
Затирание document.querySelector()
Выводы
Глава 5. Эксплойты браузера
Введение
Неверная обработка Firefox перекрёстных адресов URL
Назначения Safari для имён хостов по разным источникам
Полный обход SOP Internet Explorer
Частичная утечка сведений SOP в Chrome
Полный обход SOP Safari
Обход SOP Opera
Выводы
Глава 6. Порча прототипа
Введение
Методика
Источник
Гаджет
Потенциальный гаджет
Порча прототипа стороны клиента
Поиск загрязнения прототипа
Модификация естественных методов
Естественные API браузера
Поиск гаджетов
Порча прототипа стороны сервера
Выводы
Глава 7. JavaScript без букв и цифр
Написание JavaScript без букв и цифр
Безбуквенность без скобок
Стена из шести символов
Бесконечность и за её пределами
Выводы
Глава 8. XSS
Закрывающие сценарии
Комментарии внутри сценариев
Логические объекты HTML внутри SVG
Сценарий без сценария закрытия
Полезные нагрузки названия окна
Соответствия источников для создания обратных ping
Новый приёмник перенаправления
Комментарии JavaScript
Новые строки
Пробельные символы
Динамический импорт
Пространство имён XHTML в XML
Выгрузки SVG
Применяемые SVG элементы
Логические объекты HTML
Десятичные логические объекты
Шестнадцатеричные логические объекты
Именованные логические объекты
Именованные логические объекты HTML5
События
onafterscriptexecute
ontoggle
onunhandledrejection
onbegin
Основанные на навигации события
onmessageonmessage
Основанные на анимации события
onmessage
Выводы
l>