
CVE-2022-29464 PoC для продуктов WSO2
Некоторые продукты WSO2 допускают неограниченную загрузку файлов, приводящую к удаленному выполнению кода. Атакующий должен использовать конечную точку /fileupload с последовательностью обхода каталогов в Content-Disposition, чтобы достичь каталога внутри веб-корня, например, ../../../../repository/deployment/server/webapps.
python3 main.py https://example.com shell.jsp
Замените https://example.com на уязвимый сервер, а shell.jsp на имя файла, которое вы хотите использовать для загрузки.
Отредактируйте файл shell.jsp по своему усмотрению, но текущая оболочка также работает вполне нормально (во всяком случае, лучше других JSP-шеллов).
Эта оболочка может собирать вывод из stdout и stderr. Команды выполняются с помощью /bin/sh.
В основном системные администраторы запускают продукты WSO2 от имени суперпользователя. Используя этот эксплойт, вы получите права суперпользователя над всей системой.
Файлы базы данных находятся в каталоге ~/repository/database.
Вы можете использовать IntelliJ IDEA для открытия баз данных типа H2, как описано здесь.
С помощью этого эксплойта вы можете скопировать любой файл из любого каталога в ~/repository/deployment/server/webapps/authenticationendpoint. Каталог authenticationendpoint обслуживает JSP, но также может использоваться для обслуживания других файлов.
Пример:
cp ~/repository/database/WSO2CARBON_DB.h2.db ~/repository/deployment/server/webapps/authenticationendpoint/WSO2CARBON_DB.h2.db
Эта команда скопирует основной файл базы данных в каталог, откуда мы можем его загрузить.
Я не несу ответственности за любую термоядерную войну или ваш арест. Используйте этот эксплойт только в тестовой среде.