1- أما Burp Suite، فهي تتضمن إصدارين:
https://portswigger.net/burp
Burp Suite Community Edition: هذا الإصدار مجاني، ولكنه يحتوي على ميزات محدودة
مقارنة بالإصدار الاحترافي
Burp Suite Professional: هذا الإصدار مدفوع ويحتوي على ميزات متقدمة أكثر، مثل فحص
أعمق وتكامل مع أدوات أخرى
إذا كنت تبحث عن أداة مجانية، فإن OWASP ZAP هو خيار ممتاز. وإذا كنت بحاجة إلى
ميزات إضافية، يمكنك تجربة النسخة المجانية من Burp Suite
2- OWASP ZAP مجاني
https://www.zaproxy.org/
الشرح :
عند استخدام أدوات مثل OWASP ZAP أو Burp Suite لفحص رابط ويب أو مجلد، تقوم هذه
الأدوات بفحص عدة جوانب للبحث عن الثغرات، منها:
تحليل المحتوى: فحص الصفحات والموارد المتاحة على الرابط أو المجلد، بما في ذلك
HTML، CSS، وJavaScript
إدخال المستخدم: اختبار جميع نقاط الإدخال (مثل النماذج) للبحث عن ثغرات مثل XSS
(Cross-Site Scripting) وSQL Injection
التوثيق والتفويض: فحص أنظمة تسجيل الدخول والقيود الأمنية للتأكد من عدم وجود
ثغرات تسمح بالوصول غير المصرح به
الإعدادات غير الآمنة: البحث عن إعدادات سيرفر غير آمنة أو معلومات حساسة تم
تسريبها، مثل ملفات التكوين
تحليل الجلسات: فحص كيفية إدارة الجلسات وتحقق من وجود مشكلات مثل جلسات مفتوحة أو
ضعيفة
الكشف عن نقاط الضعف الشائعة: استخدام قواعد بيانات للثغرات المعروفة للتحقق من
وجود مشكلات معروفة
فحص التوصيل الآمن: التأكد من استخدام HTTPS بشكل صحيح، والتحقق من شهادات SSL/TLS
تحليل API: إذا كان التطبيق يستخدم واجهات برمجة التطبيقات (APIs)، يمكن للأدوات
فحصها للبحث عن ثغرات
يمكنك تحديد نطاق الفحص حسب احتياجاتك، سواء كان رابطاً واحداً، مجلداً كاملاً، أو
حتى تطبيق ويب كامل
وشرح من الاخ هايف العجمي : يدوي وبعض الخدمات
1- اضف بعض الاكواد لرابط الموقع باستخدام
HTML و SQL
وغيرها واذا وجدت خلل او دخول للاختراق هنا تحتاج لاغلاقها من الاعداء
2- وهذا اوامر ولها شروح خاصه بعدين
نشرحها
- curl: يمكنك استخدامه لاختبار HTTP headers وAPI endpoints
https://curl.se/
- nmap: أداة لفحص الشبكات والتطبيقات، يمكن استخدامها لفحص الثغرات
https://nmap.org/
3- وهذي مواقع لرفع الرابط لفحص
Sucuri SiteCheck: لفحص المواقع بحثًا عن البرمجيات الخبيثة والثغرات
https://sitecheck.sucuri.net/
Qualys SSL Labs: لفحص إعدادات SSL/TLS
https://www.ssllabs.com/ssltest/
4- وخدمات اخره
Detectify: يوفر فحصًا أمنيًا مع تقرير مفصل (قد يتطلب حسابًا)
https://detectify.com/
لمتصفحين الكروم قوقل
Chrome DevTools
https://developer.chrome.com/docs/devtools?hl=ar
5- اخيرا معي ان
الموضوع طويل بس بختصر لعده شروح
لفحص كل من
HTTP - XSS - POST - GET - GET - API وغيرها
عليك تغير الرابط
example.com
بموقعك
الموجود برقم أثنين والان كيف تثبيت البرنامج
قم بنسخ ملف curl.exe إلى مجلد مثل C:\Windows\System32 أو أضف المجلد الذي يحتوي
على curl.exe إلى متغير PATH في إعدادات النظام
بس تثبت البرنامج وفتحه اتبع
افتح سطر الأوامر (Command Prompt) واكتب:
curl --version
إذا تم عرض معلومات الإصدار، فهذا يعني أن curl تم تثبيته بنجاح
الاوامر / :)
إليك بعض الأوامر الأساسية في curl التي يمكن استخدامها لفحص الثغرات، خاصة عند اختبار أمان تطبيقات الويب:
1. فحص رأس HTTP:
لفحص رؤوس الاستجابة، يمكنك استخدام الأمر:
نسخ الكود
curl -I http://example.com
2. إرسال طلب GET:
لإرسال طلب GET واستعراض المحتوى:
نسخ الكود
curl http://example.com
3. إرسال طلب POST:
لاختبار إدخال بيانات إلى نموذج، يمكنك استخدام:
نسخ الكود
curl -X POST -d "param1=value1¶m2=value2" http://example.com/form-submit
استبدل param1 وvalue1 بأسماء القيم المناسبة
4. إرسال بيانات لاختبار XSS:
لاختبار ثغرات XSS، يمكنك استخدام:
نسخ الكود
curl -X POST -d "name=<script>alert(1)</script>" http://example.com/form-submit
5. تحديد نوع المحتوى:
يمكنك تحديد نوع المحتوى المرسل باستخدام:
نسخ الكود
curl -X POST -H "Content-Type: application/json" -d '{"key":"<script>alert(1)</script>"}' http://example.com/api
6. تخزين الاستجابة في ملف:
إذا كنت تريد تخزين الاستجابة في ملف لتفحصها لاحقًا:
نسخ الكود
curl -o output.txt http://example.com
7. تجاوز التحقق من SSL:
في حالة وجود مشاكل في الشهادات SSL:
نسخ الكود
curl -k https://example.com
8. فحص معلومات HTTP Headers:
للحصول على معلومات مفصلة حول الطلبات:
نسخ الكود
curl -v http://example.com
9. تحليل نقاط الضعف في API:
يمكنك إرسال طلبات GET وPOST إلى واجهات API مع بيانات اختبارية لاكتشاف الثغرات
هذه الأوامر تمنحك أساسيات استخدام curl لاختبار أمان تطبيقات الويب. تذكر أن تختبر فقط التطبيقات التي
واكثر اختراق لاي سكربت : الغير رسمي او برمجه مبتدى +
3. اختبارات الأمان الشائعة:
XSS (Cross-Site Scripting): حاول إدخال شيفرة JavaScript في الحقول النصية
SQL Injection: جرب إدخال علامات مثل ' OR '1'='1 في حقول إدخال قاعدة البيانات
1- مثال على XSS
السيناريو: افترض أن لديك صفحة ويب تحتوي على نموذج لتعليقات المستخدمين
html
نسخ الكود
<form action="/submit-comment" method="post">
<label for="comment">Comment:</label>
<input type="text" id="comment" name="comment">
<button type="submit">Submit</button>
</form>
الاختبار: يمكنك إدخال الشيفرة التالية في حقل التعليق:
html
نسخ الكود
<script>alert('XSS Attack');</script>
ما سيحدث: إذا لم يتم تنقية المدخلات، عندما يقوم المستخدم الآخر بزيارة الصفحة، ستظهر نافذة منبثقة تحتوي على الرسالة "XSS Attack"، مما يعني أن الشيفرة نفذت
2- مثال على SQL Injection
السيناريو: افترض أنك لديك صفحة تسجيل دخول تتطلب اسم المستخدم وكلمة المرور
php
نسخ الكود
$username = $_POST['username'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE username = '$username' AND password = '$password'";
$result = mysqli_query($conn, $query);
الاختبار: يمكنك إدخال القيمة التالية في حقل اسم المستخدم:
sql
نسخ الكود
' OR '1'='1
وفي حقل كلمة المرور، يمكنك إدخال أي قيمة، مثل:
نسخ الكود
password
ما سيحدث: ستكون الاستعلام الناتج كالتالي:
sql
نسخ الكود
SELECT * FROM users WHERE username = '' OR '1'='1' AND password = 'password';
لأن الشرط '1'='1' دائمًا صحيح، سيؤدي هذا إلى تجاوز التوثيق وستحصل على الوصول إلى النظام دون الحاجة إلى كلمة المرور الصحيحة
حل الاول :
1. حل ثغرات XSS (Cross-Site Scripting)
تنقية المدخلات (Input Sanitization):
تأكد من تنقية جميع المدخلات من المستخدمين. استخدم مكتبات مثل DOMPurify أو HTML Purifier لتنظيف المدخلات
الترميز (Output Encoding):
عند عرض المحتوى، تأكد من ترميز البيانات. على سبيل المثال، في PHP يمكنك استخدام:
php
نسخ الكود
echo htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');
تطبيق CSP (Content Security Policy):
استخدم سياسة أمان المحتوى (CSP) لمنع تشغيل الشيفرات غير المصرح بها
تجنب استخدام المدخلات في HTML مباشرة:
قم بتجنب إدخال أي بيانات مستخدم مباشرةً في HTML، واحرص على استخدام أساليب آمنة للتعامل مع البيانات
حل الثاني :
2. حل ثغرات SQL Injection
استخدام استعلامات التحضير (Prepared Statements):
استخدم استعلامات التحضير بدلاً من بناء الاستعلامات مباشرة. على سبيل المثال في PHP مع MySQLi:
php
نسخ الكود
$stmt = $conn->prepare("SELECT * FROM users WHERE username = ? AND password = ?");
$stmt->bind_param("ss", $username, $password);
$stmt->execute();
تنقية المدخلات:
قم بتنقية المدخلات للتأكد من عدم احتوائها على علامات خطيرة، مثل علامات الاقتباس
استخدام ORM (Object-Relational Mapping):
استخدام أدوات ORM (مثل Doctrine أو Hibernate) يمكن أن يساعد في تقليل المخاطر المرتبطة بـ SQL Injection
تحديد الصلاحيات:
تأكد من أن المستخدمين لديهم أقل مستوى من الصلاحيات المطلوبة، وهذا يمكن أن يساعد في تقليل الأضرار في حالة حدوث اختراق
نصائح إضافية
مراجعة التعليمات البرمجية:
قم بمراجعة الشيفرات البرمجية بشكل دوري للبحث عن نقاط الضعف
التحديث الدوري:
تأكد من تحديث البرمجيات والمكتبات المستخدمة في تطبيقك بانتظام
التدريب والتوعية:
تأكد من توعية المطورين بفهم هذه الثغرات وكيفية تجنبها
0 تعليقات