
Образовательный эксплойт для CVE-2023-50164 (Apache Struts 2), демонстрирующий обход пути и удаленное выполнение кода через вредоносную загрузку файла, предназначенный для лабораторных сред HackTheBox.
Этот эксплойт был разработан специально для лаборатории Strutted от HackTheBox для эксплуатации уязвимости CVE-2023-50164 в Apache Struts 2. Ошибка позволяет выполнить path traversal из-за недочёта в обработке параметров загрузки файлов. Эксплойт создан с целью продемонстрировать, как атакующий может выполнить загрузку вредоносных файлов и получить удалённое выполнение кода (RCE).
Этот эксплойт разработан исключительно в образовательных целях в контролируемой среде HackTheBox и не должен использоваться в реальных системах без явного разрешения. Эксплуатация уязвимостей без согласия незаконна и неэтична.
Цель этого эксплойта — продемонстрировать, как уязвимость в Apache Struts 2, а именно в конечной точке загрузки файлов, может быть использована для:
Уязвимость CVE-2023-50164 связана с некорректной обработкой параметров загрузки файлов, что позволяет атакующему манипулировать именем отправляемого файла для выполнения .
Манипуляция HTTP-параметром: эксплойт изменяет HTTP-параметры, добавляя символы обхода каталога (../), что позволяет загрузить вредоносный файл в неавторизованную папку.
Отправка вредоносного файла: эксплойт отправляет вредоносный файл методом POST на конечную точку /upload.action, используя ошибку чувствительности к регистру HTTP-параметров.
Удалённое выполнение кода: атакующий может внедрить вредоносный код, который будет выполнен на сервере после загрузки.
Ниже приведён пример HTTP-запроса, который можно использовать для эксплуатации уязвимости:
POST /upload.action HTTP/1.1
Host: vulnerable-server.com
Content-Type: multipart/form-data; boundary=------------------------abcdef
--------------------------abcdef
Content-Disposition: form-data; name="Upload"; filename="img.png"
Content-Type: application/octet-stream
PNG
--------------------------abcdef
Content-Disposition: form-data;
Content-Type: application/octet-stream
../../shell.jsp
--------------------------abcdef--