JavaScript injection

Что такое DOM-based JavaScript injection?

Уязвимости инъекции JavaScript на основе DOM возникают, когда скрипт выполняет контролируемые атакующим данные как JavaScript. Атакующий может использовать эту уязвимость, чтобы сконструировать URL, который при посещении приведёт к выполнению произвольного JavaScript в контексте браузерной сессии пользователя.

Побудить пользователей перейти по вредоносному URL атакующего можно различными способами, аналогичными обычным векторам доставки для уязвимостей reflected XSS. Для получения дополнительной информации обратитесь к нашей странице о DOM-based XSS.

Каковы последствия JavaScript injection?

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

Какие приёмники могут привести к JavaScript injection?

Ниже приведены некоторые из основных приёмников, которые могут приводить к уязвимостям инъекции JavaScript:

eval()
Function()
setTimeout()
setInterval()
setImmediate()
execCommand()
execScript()
msSetImmediate()
range.createContextualFragment()
crypto.generateCRMFRequest()

Как предотвратить DOM-based JavaScript injection

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

Last updated