
CVE-2023-4771 PoC: уязвимость межсайтового скриптинга (XSS) в AJAX-примере CKEditor 4
CVE-2023-4771 PoC CKEditor 4 Уязвимость межсайтового скриптинга (XSS) в AJAX-примере
В этом документе описывается, как выполнить XSS-уязвимость (CVE-2023-4771) с помощью CKEditor. Убедитесь, что всё выполняется с большой осторожностью, чтобы довести дело до конца:
Предварительные условия
• Иметь доступ к экземпляру CKEditor.
Файл: ckeditor/samples/old/ajax.html.
Шаги для выполнения XSS-уязвимости:
Посетите страницу примера CKEditor Откройте ваш любимый браузер и перейдите по этому URL: /ckeditor/samples/old/ajax.html. Этот URL должен указывать на страницу примера CKEditor, которая находится в тестируемом веб-приложении.
Создайте новый экземпляр редактора: Перейдите на страницу примера CKEditor и найдите там любой элемент управления — кнопку, ссылку и т. д., — который позволяет создать новый экземпляр редактора; нажмите на него. Экземпляр CKEditor на странице должен активироваться.
Переключитесь в режим исходного кода: Когда экземпляр CKEditor готов, найдите и нажмите кнопку «Source». Эта кнопка позволяет управлять необработанным HTML-содержимым в редакторе.
Внедрите XSS-пейлоад: В режиме исходного кода доступна текстовая область, в которую можно вводить HTML-код. Ниже приведён пример такого XSS-пейлоада, который вы хотите внедрить в эту текстовую область:
<p>Xss<!-- --!>-->Attack</p>
Пейлоад — это логика, которая должна вызвать предупреждение при отрисовке этого HTML.
Удалите экземпляр редактора: После вставки пейлоада найдите кнопку/ссылку с названием «Remove Editor» и нажмите на неё. Это отключит экземпляр CKEditor и выведет содержимое в виде HTML.
Наблюдайте XSS-предупреждение: Если приложение уязвимо, после удаления редактора и отрисовки HTML-содержимого появится окно предупреждения с сообщением «XSS».
Уязвимый код в ajax.html: document.getElementById( 'editorcontents' ).innerHTML = html = editor.getData();

Ссылки:
• https://cve.mitre.org/cgi-bin/cvename.cgi?name=2023-4771
Автор PoC: Sahar Shlichove
Автор отчёта о CVE: Rafael Pedrero