Логотип
Главная | Статьи | Эксплойт на языке программирования JavaScript для уязвимости подделки межсайтового запроса (Cross-Site Script Inclusion, XSSI) + пример уязвимого и защищенного кода на PHP от этой уязвимости
Эксплойт на языке программирования JavaScript для уязвимости подделки межсайтового запроса (Cross-Site Script Inclusion, XSSI) + пример уязвимого и защищенного кода на PHP от этой уязвимости

Эксплойт на языке программирования JavaScript для уязвимости подделки межсайтового запроса (Cross-Site Script Inclusion, XSSI) + пример уязвимого и защищенного кода на PHP от этой уязвимости

28 июля, 2024

102

Предоставляю Вам пример кода, который демонстрирует уязвимость подделки межсайтового запроса (Cross-Site Script Inclusion, XSSI) для образовательных целей. Важно помнить, что такие примеры предназначены исключительно для обучения и понимания уязвимостей, и их не следует использовать для вредоносных действий.

Пример уязвимого кода на PHP

Объяснение уязвимости

В этом примере код получает URL из параметра запроса url и включает его в страницу в виде скрипта. Если злоумышленник передаст вредоносный URL, он сможет выполнить произвольный JavaScript-код на странице пользователя.

Пример эксплойта

Для демонстрации уязвимости XSSI, злоумышленник может создать вредоносный скрипт и заставить пользователя перейти по ссылке, которая включает этот скрипт.

Вредоносный скрипт (malicious.js)

Пример атаки

Злоумышленник может создать вредоносный URL, который включает его собственный скрипт:

Когда пользователь перейдет по этой ссылке, вредоносный скрипт будет загружен и выполнен на странице.

Пример защищенного кода

Чтобы защитить код от XSSI, можно использовать белый список доверенных источников и проверять URL перед включением:

Объяснение защиты

В этом защищенном примере код проверяет, что домен URL находится в списке доверенных доменов, прежде чем включать его в страницу. Это предотвращает включение вредоносных скриптов с недоверенных источников.

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