
POC حول Web3 – تسجيل دخول محفظة العملات المشفرة وتقييد الوصول بتوكنات NFT < 3.0.0 - تجاوز المصادقة في إضافة ووردبريس
POC حول إضافة ووردبريس Web3 – Crypto wallet Login & NFT token gating < 3.0.0 - تجاوز المصادقة
تصف هذه الثغرة تجاوزًا للمصادقة بسبب فحص مصادقة غير صحيح في الدالة ‘handle_login_request’ والدالة ‘handle_auth_request’
قمنا بتقسيم تدفق تسجيل الدخول إلى 3 خطوات، وهي في الواقع 3 طلبات POST مختلفة عند تسجيل الدخول عبر محفظة web3 الخاصة بنا.


باستخدام طلب POST هذا، يمكن لأي شخص استرداد nonce مستخدم موجود، لذا يمكنك الحصول على nonce مستخدم الأدمن فقط بمعرفة اسم المستخدم أو المحفظة، عبر استبدال المعامل “address” باسم المستخدم وإرسال طلب POST.
بعد ذلك، يمكنك إسقاط طلب POST الثاني لتسجيل الدخول، لأنه يتحقق فقط من صحة توقيع الـ nonce من عدمه، لكنه معزول عن تدفق تسجيل الدخول.


في الخطوة الثالثة، يمكنك إتمام تسجيل الدخول فقط عن طريق إرسال:
• اسم المستخدم المستهدف
• nonce المستهدف (من الخطوة 1)
• nonce العامة لـ wp


إذًا هي في الأساس لا تتحقق من أن المستخدم الذي يحاول تسجيل الدخول في الخطوة 3 هو نفس المستخدم الذي وقّع في الخطوة 2؛ ويمكن لأي شخص تجاوز تسجيل الدخول وربما القيام بذلك كمستخدم إداري.
https://wpscan.com/vulnerability/7f30ab20-805b-422c-a9a5-21d39c570ee4
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-6036
https://www.udemy.com/course/0-day-wordpress/?referralCode=7039562B316447367B85