أحدث المواضيع H
 

أساسيات القرصنة على الويب wep applications الجزء الاول HTTP بالتفصيل

+حجم الخط-

 





أساسيات القرصنة على الويب

HTTP بالتفصيل 




فهم قضايا الأمان الأساسية مع تطبيقات الويب ، وتعلم كيفية استغلالها باستخدام أدوات وتقنيات الصناعة.

في هذه الوحدة ، سنستكشف المكونات الأساسية للويب الحديث بما في ذلك كل من البروتوكولات الأساسية المستخدمة ، بالإضافة إلى مكونات الخادم المختلفة التي تشكل شبكة الويب العالمية. سوف تتعمق في كيفية استخدام BurpSuite ، وهي أداة يُنظر إليها على نطاق واسع على أنها في قلب اختراق الويب. بالإضافة إلى ذلك ، ستتعلم كيفية إجراء التعداد الأساسي لمواقع الويب واستغلال نقاط الضعف العشرة الأكثر شيوعًا في تطبيقات الويب من خلال اختراق العديد من تطبيقات العالم الحقيقي.


سنبدا في اساسيات القرصنة على الويب من HTTP ونتعرف علية كليا

ما هو HTTP؟ (بروتوكول نقل النص التشعبي)

HTTP هو ما يتم استخدامه عند عرض موقع ويب ، تم تطويره بواسطة Tim Berners-Lee وفريقه بين 1989-1991. HTTP هو مجموعة القواعد المستخدمة للتواصل مع خوادم الويب لنقل بيانات صفحة الويب ، سواء كانت HTML أو الصور أو مقاطع الفيديو وما إلى ذلك.

ما هو HTTPS؟ (بروتوكول نقل النص التشعبي الآمن)

HTTP S هو الإصدار الآمن من HTTP. يتم تشفير بيانات HTTPS ، لذا فهي لا تمنع الأشخاص من رؤية البيانات التي تتلقاها وترسلها فحسب ، بل تمنحك أيضًا تأكيدات بأنك تتحدث إلى خادم الويب الصحيح وليس شيئًا ينتحل صفته.



عندما نصل إلى موقع ويب ، سيحتاج متصفحك إلى تقديم طلبات إلى خادم ويب لأصول مثل HTML والصور وتنزيل الردود. قبل ذلك ، تحتاج إلى إخبار المتصفح على وجه التحديد بكيفية ومكان الوصول إلى هذه الموارد ، وهذا هو المكان الذي ستساعدك فيه عناوين URL.

ما هو URL؟ (محدد موقع المعلومات)

إذا كنت قد استخدمت الإنترنت ، فقد استخدمت عنوان URL من قبل. عنوان URL هو في الغالب تعليمات حول كيفية الوصول إلى مورد على الإنترنت. توضح الصورة أدناه كيف يبدو عنوان URL بكل ميزاته (لا يستخدم جميع الميزات في كل طلب).

المخطط: يرشد هذا إلى البروتوكول الذي يجب استخدامه للوصول إلى المورد مثل HTTP و HTTPS و FTP (بروتوكول نقل الملفات).

المستخدم: تتطلب بعض الخدمات مصادقة لتسجيل الدخول ، يمكنك وضع اسم مستخدم وكلمة مرور في عنوان URL لتسجيل الدخول.

المضيف: اسم المجال أو عنوان IP للخادم الذي ترغب في الوصول إليه.

المنفذ: المنفذ الذي ستقوم بالاتصال به ، عادةً 80 لـ HTTP و 443 لـ HTTPS ، ولكن يمكن استضافته على أي منفذ بين 1-65535.

المسار: اسم الملف أو موقع المورد الذي تحاول الوصول إليه.

سلسلة الاستعلام: بتات إضافية من المعلومات التي يمكن إرسالها إلى المسار المطلوب. على سبيل المثال ، / blog؟ سيخبر معرف = 1 مسار المدونة أنك ترغب في تلقي مقالة المدونة بالمعرف 1.

جزء: هذا إشارة إلى موقع على الصفحة الفعلية المطلوبة. يستخدم هذا بشكل شائع للصفحات ذات المحتوى الطويل ويمكن أن يكون لها جزء معين من الصفحة مرتبط بها مباشرة ، لذلك يمكن للمستخدم عرضه بمجرد وصوله إلى الصفحة.

تقديم طلب

من الممكن تقديم طلب إلى خادم ويب بسطر واحد فقط " GET / HTTP / 1.1 "



ولكن للحصول على تجربة ويب أكثر ثراءً ، ستحتاج إلى إرسال بيانات أخرى أيضًا. يتم إرسال هذه البيانات الأخرى فيما يسمى بالرؤوس ، حيث تحتوي الرؤوس على معلومات إضافية لإعطائها لخادم الويب الذي تتواصل معه ، لكننا سنتعمق أكثر في هذا الأمر في مهمة الرأس.

طلب مثال:


GET / HTTP/1.1
Host: amfhack.blogspot.com
User-Agent: Mozilla/5.0 Firefox/87.0
Referer: https://amfhack.blogspot.co

لتفصيل كل سطر من هذا الطلب:

السطر 1: يرسل هذا الطلب طريقة GET (المزيد حول هذا الأمر في مهمة أساليب HTTP ) ، اطلب الصفحة الرئيسية مع / وأخبر خادم الويب أننا نستخدم بروتوكول HTTP الإصدار 1.1.

السطر 2: نخبر خادم الويب أننا نريد موقع tryhackme.com

السطر 3: نخبر خادم الويب أننا نستخدم متصفح Firefox الإصدار 87

السطر 4: نخبر خادم الويب أن صفحة الويب التي أحالتنا إلى هذه الصفحة هي https://amfhack.blogspot.com

السطر 5: تنتهي طلبات HTTP دائمًا بسطر فارغ لإعلام خادم الويب بأن الطلب قد انتهى.

مثال على الرد:


HTTP/1.1 200 OK
Server: nginx/1.15.8
Date: Fri, 09 Apr 2021 13:34:03 GMT
Content-Type: text/html
Content-Length: 98

<html>
<head>
<title> amfHack</title>
</head>
<body>
Welcome To amfHack.com
</body>
</html>

لتفصيل كل سطر من الرد:

السطر 1: HTTP 1.1 هو إصدار بروتوكول HTTP الذي يستخدمه الخادم ثم يتبعه رمز حالة HTTP في هذه الحالة "200 Ok" الذي يخبرنا أن الطلب قد اكتمل بنجاح.

السطر 2: هذا يخبرنا عن برنامج خادم الويب ورقم الإصدار.

السطر 3: التاريخ والوقت والمنطقة الزمنية الحالية لخادم الويب.

السطر 4: يخبر رأس نوع المحتوى العميل بنوع المعلومات التي سيتم إرسالها ، مثل HTML والصور ومقاطع الفيديو و pdf و XML .

السطر 5: طول المحتوى يخبر العميل بمدة الاستجابة ، وبهذه الطريقة يمكننا التأكد من عدم وجود بيانات مفقودة.

السطر 6: تحتوي استجابة HTTP على سطر فارغ لتأكيد نهاية استجابة HTTP.

الأسطر 7-14: المعلومات التي تم طلبها ، في هذه الحالة الصفحة الرئيسية.



طرق HTTP هي طريقة للعميل لإظهار الإجراء المقصود عند إجراء طلب HTTP. هناك الكثير من طرق HTTP ولكننا سنغطي الطرق الأكثر شيوعًا ، على الرغم من أنك ستتعامل في الغالب مع طريقة GET و POST.

طلب الحصول على

يستخدم هذا للحصول على المعلومات من خادم الويب.

طلب POST

يستخدم هذا لإرسال البيانات إلى خادم الويب وربما إنشاء سجلات جديدة

طلب PUT

يستخدم هذا لإرسال البيانات إلى خادم الويب لتحديث المعلومات

طلب حذف

يستخدم هذا لحذف المعلومات / السجلات من خادم الويب.

أكواد حالة HTTP :

في المهمة السابقة ، تعلمت أنه عندما يستجيب خادم HTTP ، يحتوي السطر الأول دائمًا على رمز حالة يُعلم العميل بنتيجة طلبه وربما أيضًا كيفية التعامل معه. يمكن تقسيم رموز الحالة هذه إلى 5 نطاقات مختلفة:

100-199 - استجابة المعلوماتيتم إرسالها لإخبار العميل بقبول الجزء الأول من طلبه ويجب عليه الاستمرار في إرسال بقية طلبه. لم تعد هذه الرموز شائعة جدًا.
200-299 - النجاحيتم استخدام هذا النطاق من أكواد الحالة لإخبار العميل بأن طلبه كان ناجحًا.
300-399 - إعادة التوجيهيتم استخدام هذه لإعادة توجيه طلب العميل إلى مورد آخر. يمكن أن يكون هذا إما إلى صفحة ويب مختلفة أو موقع ويب مختلف تمامًا.
400-499 - أخطاء العميليستخدم لإبلاغ العميل بحدوث خطأ في طلبه.
500-599 - أخطاء الخادمهذا محجوز للأخطاء التي تحدث من جانب الخادم وعادة ما تشير إلى مشكلة كبيرة في الخادم الذي يتعامل مع الطلب.

أكواد حالة HTTP الشائعة :

هناك الكثير من رموز حالة HTTP المختلفة وهذا لا يشمل حقيقة أن التطبيقات يمكنها حتى تحديد رموزها الخاصة ، سنستعرض أكثر استجابات HTTP شيوعًا التي من المحتمل أن تصادفها:

200 - حسنًاتم إكمال الطلب بنجاح.
201 - تم إنشاؤهتم إنشاء مورد (على سبيل المثال مستخدم جديد أو منشور مدونة جديد).
301 - إعادة التوجيه الدائمهذا يعيد توجيه متصفح العميل إلى صفحة ويب جديدة أو يخبر محركات البحث أن الصفحة قد انتقلت إلى مكان آخر وأن تبحث هناك بدلاً من ذلك.
302 - إعادة توجيه مؤقتةعلى غرار إعادة التوجيه الدائمة أعلاه ، ولكن كما يوحي الاسم ، يعد هذا تغييرًا مؤقتًا وقد يتغير مرة أخرى في المستقبل القريب.
400 طلب سىءيخبر هذا المتصفح أن هناك شيئًا ما كان خاطئًا أو مفقودًا في طلبه. يمكن استخدام هذا أحيانًا إذا توقع مورد خادم الويب المطلوب معلمة معينة لم يرسلها العميل.
401 - غير مخوللا يُسمح لك حاليًا بمشاهدة هذا المورد إلا بعد الحصول على تصريح باستخدام تطبيق الويب ، وغالبًا ما يكون ذلك باستخدام اسم مستخدم وكلمة مرور.
403 ممنوعليس لديك إذن لعرض هذا المورد سواء قمت بتسجيل الدخول أم لا.
405 - طريقة غير مسموح بهالا يسمح المورد بطلب هذه الطريقة ، على سبيل المثال ، ترسل طلب GET إلى المورد / حساب الإنشاء عندما كان يتوقع طلب POST بدلاً من ذلك.
404 - الصفحة غير موجودةالصفحة / المورد الذي طلبته غير موجود.
500 - خطأ داخلي في الخدمةواجه الخادم نوعًا من الخطأ في طلبك أنه لا يعرف كيفية التعامل معه بشكل صحيح.
503 الخدمة غير متوفرة

لا يمكن لهذا الخادم معالجة طلبك لأنه إما محمّل بشكل زائد أو معطّل للصيانة.



الرؤوس هي أجزاء إضافية من البيانات يمكنك إرسالها إلى خادم الويب عند تقديم الطلبات.

على الرغم من عدم وجود رؤوس مطلوبة بشكل صارم عند إجراء طلب HTTP ، إلا أنك ستجد صعوبة في عرض موقع الويب بشكل صحيح.

رؤوس الطلبات المشتركة

هذه هي الرؤوس التي يتم إرسالها من العميل (عادةً متصفحك) إلى الخادم.

المضيف: تستضيف بعض خوادم الويب مواقع ويب متعددة ، لذلك من خلال توفير رؤوس المضيف ، يمكنك إخبارها بالخادم المطلوب ، وإلا فستتلقى موقع الويب الافتراضي للخادم.

User-Agent: هذا هو برنامج المتصفح الخاص بك ورقم الإصدار ، حيث يخبر خادم الويب أن برنامج المتصفح الخاص بك يساعده في تنسيق موقع الويب بشكل صحيح لمتصفحك ، كما أن بعض عناصر HTML و JavaScript و CSS متوفرة فقط في متصفحات معينة.

طول المحتوى: عند إرسال البيانات إلى خادم ويب مثل نموذج ، فإن طول المحتوى يخبر خادم الويب عن مقدار البيانات المتوقع في طلب الويب. بهذه الطريقة يمكن للخادم التأكد من أنه لا يفقد أي بيانات.

قبول-ترميز: يخبر خادم الويب بأنواع طرق الضغط التي يدعمها المتصفح بحيث يمكن تصغير البيانات لنقلها عبر الإنترنت.


ملف تعريف الارتباط: البيانات المرسلة إلى الخادم للمساعدة في تذكر معلوماتك (انظر مهمة ملفات تعريف الارتباط لمزيد من المعلومات).

رؤوس الاستجابة الشائعة

هذه هي الرؤوس التي يتم إرجاعها إلى العميل من الخادم بعد الطلب.

Set-Cookie: المعلومات المراد تخزينها والتي يتم إرسالها مرة أخرى إلى خادم الويب عند كل طلب (راجع مهمة ملفات تعريف الارتباط لمزيد من المعلومات).

التحكم في ذاكرة التخزين المؤقت: مدة تخزين محتوى الاستجابة في ذاكرة التخزين المؤقت للمتصفح قبل أن يطلبها مرة أخرى.

نوع المحتوى: هذا يخبر العميل بنوع البيانات التي يتم إرجاعها ، مثل HTML ، CSS ، JavaScript ، الصور ، PDF ، الفيديو ، إلخ. باستخدام رأس نوع المحتوى ، يعرف المتصفح بعد ذلك كيفية معالجة البيانات.

ترميز المحتوى: ما هي الطريقة التي تم استخدامها لضغط البيانات لجعلها أصغر عند إرسالها عبر الإنترنت.



ربما سمعت عن ملفات تعريف الارتباط من قبل ، إنها مجرد جزء صغير من البيانات المخزنة على جهاز الكمبيوتر الخاص بك. يتم حفظ ملفات تعريف الارتباط عندما تتلقى رأس "Set-Cookie" من خادم ويب. ثم كل طلب آخر تقدمه ، سترسل بيانات ملف تعريف الارتباط مرة أخرى إلى خادم الويب. نظرًا لأن HTTP عديم الحالة (لا يتتبع طلباتك السابقة) ، يمكن استخدام ملفات تعريف الارتباط لتذكير خادم الويب بشخصيتك أو بعض الإعدادات الشخصية لموقع الويب أو ما إذا كنت قد زرت موقع الويب من قبل. دعنا نلقي نظرة على هذا كمثال لطلب HTTP:





يمكن استخدام ملفات تعريف الارتباط للعديد من الأغراض ، ولكنها أكثر شيوعًا لمصادقة مواقع الويب. لن تكون قيمة ملف تعريف الارتباط عادةً عبارة عن سلسلة نصية واضحة حيث يمكنك رؤية كلمة المرور ، ولكنها رمز مميز (رمز سري فريد لا يمكن تخمينه بسهولة من الناحية البشرية).

عرض ملفات تعريف الارتباط الخاصة بك

يمكنك بسهولة عرض ملفات تعريف الارتباط التي يرسلها متصفحك إلى موقع ويب باستخدام أدوات المطور في متصفحك. إذا لم تكن متأكدًا من كيفية الوصول إلى أدوات المطور في متصفحك ، فانقر فوق الزر "عرض الموقع" أعلى هذه المهمة للحصول على دليل إرشادي.

بمجرد فتح أدوات المطور ، انقر فوق علامة التبويب "الشبكة". ستعرض لك علامة التبويب هذه قائمة بجميع الموارد التي طلبها متصفحك. يمكنك النقر فوق كل واحد للحصول على تفاصيل تفصيلية للطلب والاستجابة. إذا أرسل متصفحك ملف تعريف ارتباط ، فسترى هذه الملفات في علامة التبويب "ملفات تعريف الارتباط" في الطلب.


author-img
amf

إظهار التعليقات
  • تعليق عادي
  • تعليق متطور
  • عن طريق المحرر بالاسفل يمكنك اضافة تعليق متطور كتعليق بصورة او فيديو يوتيوب او كود او اقتباس فقط قم بادخال الكود او النص للاقتباس او رابط صورة او فيديو يوتيوب ثم اضغط على الزر بالاسفل للتحويل قم بنسخ النتيجة واستخدمها للتعليق

نحن نستخدم ملفات تعريف الارتباط من Google لتقديم خدماتنا وتحليل عدد الزيارات لهذا السبب تتم مشاركة عنوان IP ووكيل المستخدم التابعين لك مع Google بالإضافة إلى مقاييس الأداء والأمان لضمان جودة الخدمة وإنشاء إحصاءات الاستخدام واكتشاف إساءة الاستخدام ومعالجتهاإعرف المزيداوافق