Web Basics - CyberSecurity Analyst guide أساسيات الويب - دليل محلل الأمن السيبراني

Web Basics - CyberSecurity Analyst guide أساسيات الويب - دليل محلل الأمن السيبراني

Web Basics - CyberSecurity Analyst guide أساسيات الويب - دليل محلل الأمن السيبراني


Web Basics - CyberSecurity Analyst guide أساسيات الويب - دليل محلل الأمن السيبراني

لغات البرمجة

 أشهر لغات الويب المتاحة

ماهي  HTML 

 الملفات لها الامتدادات - .html ، .htm ، .html4.  لغة ترميز النص التشعبي (HTML) ، التي اخترعها تيم بيرنرز لي في عام 1989 ، هي الإطار الأساسي للإنترنت.  يستخدم كل موقع ويب موجود تقريبًا لغة HTML لعرض النص والرسومات والأصوات والرسوم المتحركة.  المشرف على المواصفات هو World Wide Web Consortium (W3C) (http://www.w3.org).  تدعم لغة HTML الارتباط التشعبي ، أو القدرة على الارتباط من كلمة أو منطقة من الصفحة بمنطقة أو صفحة أخرى.  يتكون HTML من سلسلة من "العناصر" ، والتي تخبر المستعرض المستلم بعرض عناصر معينة على الشاشة.لا تعتبر لغة برمجة. 

ماهو  HTML الديناميكي  (DHTML)

 امتداد الملف هو dhtml.  غالبًا ما يعتبر DHTML إصدار كائن من HTML.  تعمل هذه اللغة على توسيع لغة HTML للسماح بمزيد من التحكم في عناصر الصفحة من خلال السماح بالوصول إليها وتعديلها بواسطة لغة برمجة نصية مثل Javascript أو VBScript.  ونتيجة لذلك ، قد يكون لعلامة الصورة حدث "OnMouseOver" يتم تشغيله عندما يضع المستخدم الماوس فوق علامة الصورة لإنشاء كائن ينبض بالحياة مع الرسوم المتحركة.  باختصار ، يسمح DHTML لمطور الويب بتطوير الرسوم المتحركة والتأثيرات المحسّنة بسرعة مثل تأثيرات تمرير الماوس ، والنص المتحرك ، وتغييرات الألوان الديناميكية.  نظرًا لأن DHTML يعتمد على HTML ، فإن آثاره الأمنية مشابهة لتلك الخاصة بـ HTML.

ماهي  XML

 امتداد الملف هو .xml.  مشتق من SGML ، لغة التوصيف القابلة للتمديد (XML) أقل تقييدًا من عناصر HTML المحددة جيدًا والموحدة.  يسمح XML لأي شخص بإنشاء عناصره الخاصة وتوسيع اللغة بنفسه.  في قلب امتداد هذا العنصر توجد تعريفات نوع المستند (DTDs) ، والتي تشبه في الوظيفة مكتبة تعريف البيانات لقاعدة البيانات العلائقية.  يحدد DTD علامات البداية والنهاية لملف XML ، مما يسمح للمشاهد بفهم البيانات.

 ماهو XHTML

 امتداد الملف هو .xhtml وفقًا لـ W3C ، HTML 4 هو الإصدار النهائي للغة في كل مكان كما نعرفها.  يتم إعادة صياغة الإصدار التالي من HTML ليشمل تعريف لغة XML وهيكلها.  بمعنى آخر ، يتم دمج HTML و XML لتشكيل لغة XHTML وإعطاء W3C تحكمًا مستمرًا في تصميمها.  يمكن العثور على مواصفات XHTML 1.1 الكاملة على http://www.w3.org/TR/xhtml11/.  كما هو الحال مع XML ، لا تزال XHTML في مهدها ، ولم يتم اختبار أمانها بدرجة كبيرة.

 ماهي لغة بيرل perl 

 امتداد الملف هو .pl أو أي شيء.  لغة الاستخراج والتقرير العملية (Perl) هي لغة برمجة عالية المستوى (غالبًا ما تُعتبر لغة برمجة نصية) كتبها Larry Wall في عام 1987. يمكن القول إنها لغة البرمجة النصية الأكثر نقلًا حتى الآن مع إصدارات AS / 400 و Windows 9x /  NT / 2000 / XP و OS / 2 و Novell Netware و IBM's MVS و Cray supercomputers و Digital's VMS و Linux و Tandem و HP's MPE / ix و MacOS وجميع إصدارات Unix.  إن قابلية لغة Perl ، جنبًا إلى جنب مع سعرها المنخفض (مجاني!) وقوتها ، قد خلقت حقًا لغة واسعة الانتشار للإنترنت وهي مسؤولة إلى حد كبير عن النمو الهائل للإنترنت.

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

ماهي لغة  بي أتش بي PHP 

 امتدادات الملفات هي .php و .php3 ومن المحتمل عدم وجود امتداد.  على الرغم من وجود عدد من مؤلفي لغة PHP ، إلا أن أصول PHP تبدأ مع Rasmus Lerdorf.  كتب في الأصل أول محرك تحليل PHP في عام 1995 كبرنامج Perl CGI ، والذي أطلق عليه "الصفحة الرئيسية الشخصية" ، أو ببساطة PHP.  كان هدفه الأصلي هو تسجيل الزوار لصفحة سيرته الذاتية على الويب.  أعاد لاحقًا كتابة كل شيء في C وجعله أكبر بكثير ، معززًا البرنامج بقدرات تحليل أكبر وإضافة اتصال بقاعدة البيانات.

ماهي  CGI

 امتدادات الملفات هي .cgi ، .pl.  تعد واجهة البوابة المشتركة (CGI) واحدة من أقدم المعايير وأكثرها نضجًا على الإنترنت لتمرير المعلومات من خادم الويب إلى برنامج (مثل Perl) والعودة إلى متصفح الويب بالتنسيق المناسب.  إلى جانب لغات مثل Perl ، قدمت CGI واحدة من أولى المنصات لتقديم محتوى ديناميكي من جانب الخادم إلى الويب.  على عكس ASP أو PHP ، فإن CGI ليست لغة في حد ذاتها ولكنها مجموعة من الإرشادات لاستخدامها للغات أخرى.  في الواقع ، يمكن استخدام العديد من اللغات لإنشاء برنامج CGI ، بما في ذلك Perl و C / C ++ و Java ولغة البرامج النصية Shell مثل sh و csh و ksh (Unix) وحتى Visual Basic (Windows).

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

 يتضمن جانب الخادم (SSI) - HTML و SHTML

 امتدادات الملفات هي .shtml ، .shtm ، .stm ، يعتبر SHTML ملف CGI لأنه يستخدم عادةً يتضمن جانب الخادم (SSI) للمعالجة من جانب الخادم.  يعتبر SHTML جد المعالجة من جانب الخادم ، لأنه كان موجودًا منذ بداية الويب ولا يزال قيد الاستخدام حتى اليوم (ولكن بشكل ضئيل).  مثل معظم اللغات التي ناقشناها حتى الآن ، يتم تضمين SSI في HTML ويتم انتقاؤها من خلال تعيينات التطبيق لخادم الويب.  يتم العمل على الأوامر ، مع إرسال إخراج البرامج إلى المتصفح.

 Java المستندة إلى العميل - تم تصميم Java المستندة إلى العميل للتشغيل في مساحة المعالج لنظام العميل أو مستعرض المستخدم النهائي.  يأتي كود Java المستند إلى العميل بتنسيقين: التطبيقات الصغيرة ولغات البرمجة النصية.

 التطبيقات الصغيرة - يشار إليها بواسطة علامة <applet> المضمنة في HTML ، يتم تنزيل تطبيقات Java الصغيرة وتشغيلها بواسطة مستعرض ويب العميل.  تتمثل إحدى المخاطر الرئيسية في التطبيقات الصغيرة في أنه على الرغم من تشويشها بواسطة الرمز الثانوي ، يمكن تنزيل فئة Java النموذجية بشكل منفصل وتفكيكها ، مما يسمح للمهاجمين بعرض كود مصدر Java يمكن قراءته.  تسمح هذه التقنية لشخص ما بالبحث عن نقاط الضعف الأمنية في كود Java الخاص بك.  يمكن كتابة تطبيقات Java الصغيرة في أي ملف نصي ، كما هو الحال في معظم اللغات الأخرى.

ماهي  جافا سكريبت javascript 

 JavaScript هي لغة برمجة نصية غير مجمعة ومفسرة تم إنشاؤها في الأصل بواسطة Netscape.  الارتباط بين JavaScript وجافا ، مع ذلك ، هو بالاسم فقط.  Java مُترجمة ، وموجهة للكائنات ، ومن الصعب إلى حد ما إتقانها.  جافا سكريبت هي لغة برمجة نصية بسيطة وموجهة إلى شبه كائن تهدف إلى تطوير الويب السريع.  على الرغم من أن JavaScript يحتوي على بعض القدرات الأساسية الموجهة للكائنات ، إلا أنه يشبه إلى حد بعيد لغة البرمجة النصية ، مثل Perl.  يعد JavaScript مفيدًا للمهام البسيطة مثل التحقق من بيانات النموذج وإضافة كود HTML عند الطلب وإجراء عمليات حسابية خاصة بالمستخدم مثل التاريخ / الوقت واعتبارات المستعرض.

 ماهو HTTP

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

ماهي  طرق طلب HTTP


 يعرّف HTTP طرقًا (يشار إليها أحيانًا باسم الأفعال) للإشارة إلى الإجراء المطلوب الذي يتعين القيام به على المورد المحدد.  ما يمثله هذا المورد ، سواء كانت البيانات الموجودة مسبقًا أو البيانات التي يتم إنشاؤها ديناميكيًا ، يعتمد على تنفيذ الخادم.  في كثير من الأحيان ، يتوافق المورد مع ملف أو ناتج ملف تنفيذي موجود على الخادم.  حددت مواصفات HTTP / 1.0 أساليب GET و POST و HEAD وأضافت مواصفات HTTP / 1.1 5 طرق جديدة: OPTIONS و PUT و DELETE و TRACE و CONNECT.  من خلال تحديدها في هذه الوثائق ، فإن دلالاتها معروفة جيدًا ويمكن الاعتماد عليها.  يمكن لأي عميل استخدام أي طريقة ويمكن تكوين الخادم لدعم أي مجموعة من الأساليب.  إذا كانت الطريقة غير معروفة للوسيط ، فسيتم التعامل معها على أنها طريقة غير آمنة وغير فاعلة.  لا يوجد حد لعدد الأساليب التي يمكن تعريفها وهذا يسمح بتحديد الطرق المستقبلية دون كسر البنية التحتية الحالية.  على سبيل المثال ، حدد WebDAV 7 طرق جديدة وحدد RFC 5789 طريقة التصحيح.

  •  GET - يطلب تمثيل المورد المحدد.  يجب أن تسترد الطلبات التي تستخدم GET البيانات فقط ويجب ألا يكون لها أي تأثير آخر.  (هذا ينطبق أيضًا على بعض طرق HTTP الأخرى.) وقد نشر W3C مبادئ توجيهية حول هذا التمييز ، قائلاً ، "يجب أن يتم إعلام تصميم تطبيقات الويب بالمبادئ المذكورة أعلاه ، ولكن أيضًا بالقيود ذات الصلة."
  •  HEAD - يطلب إجابة مماثلة لتلك التي تتوافق مع طلب GET ، ولكن بدون هيئة الاستجابة.  هذا مفيد لاسترداد المعلومات الوصفية المكتوبة في رؤوس الاستجابة ، دون الحاجة إلى نقل المحتوى بأكمله.
  •  POST - يطلب من الخادم قبول الكيان المضمن في الطلب باعتباره تابعًا جديدًا لمورد الويب المحدد بواسطة URI.  قد تكون البيانات المنشورة ، على سبيل المثال ، شرحًا للموارد الموجودة ؛  رسالة إلى لوحة إعلانات أو مجموعة أخبار أو قائمة بريدية أو سلسلة تعليق ؛  كتلة البيانات الناتجة عن إرسال نموذج ويب لعملية معالجة البيانات ؛  أو عنصر لإضافته إلى قاعدة بيانات.
  •  PUT - يطلب تخزين الكيان المُرفق تحت URI المقدم.  إذا كان URI يشير إلى مورد موجود بالفعل ، يتم تعديله ؛  إذا كان URI لا يشير إلى مورد موجود ، فيمكن للخادم إنشاء المورد باستخدام URI هذا.
  •  DELETE حذف - يحذف المورد المحدد.
  •  TRACE - يردد الطلب المستلم بحيث يمكن للعميل رؤية التغييرات أو الإضافات (إن وجدت) التي تم إجراؤها بواسطة الخوادم الوسيطة.
  •  OPTIONS - تُرجع أساليب HTTP التي يدعمها الخادم لعنوان URL المحدد.  يمكن استخدام هذا للتحقق من وظائف خادم الويب عن طريق طلب "*" بدلاً من مورد معين.
  •  CONNECT - يحول اتصال الطلب إلى قناة TCP / IP شفاف ، عادةً لتسهيل الاتصال المشفر عبر SSL (HTTPS) من خلال وكيل HTTP غير مشفر.

 رموز الحالة HTTP 


 في HTTP / 1.0 ومنذ ذلك الحين ، يُطلق على السطر الأول من استجابة HTTP اسم سطر الحالة ويتضمن رمز الحالة الرقمي (مثل "404") وعبارة سبب نصية (مثل "غير موجود").  تعتمد الطريقة التي يتعامل بها وكيل المستخدم مع الاستجابة بشكل أساسي على الكود وثانيًا على حقول رأس الاستجابة الأخرى.  يمكن استخدام أكواد الحالة المخصصة لأنه إذا واجه وكيل المستخدم رمزًا لا يتعرف عليه ، فيمكنه استخدام الرقم الأول من الكود لتحديد الفئة العامة للاستجابة.

 عبارات السبب القياسية هي مجرد توصيات ويمكن استبدالها بعبارة "مكافئات محلية" وفقًا لتقدير مطور الويب.  إذا أشار رمز الحالة إلى مشكلة ، فقد يعرض وكيل المستخدم عبارة السبب للمستخدم لتقديم مزيد من المعلومات حول طبيعة المشكلة.  يسمح المعيار أيضًا لوكيل المستخدم بمحاولة تفسير عبارة السبب ، على الرغم من أن هذا قد يكون غير حكيم لأن المعيار يحدد صراحة أن أكواد الحالة يمكن قراءتها آليًا وأن عبارات السبب يمكن قراءتها من قبل الإنسان.  ينقسم رمز حالة HTTP بشكل أساسي إلى خمس مجموعات للحصول على شرح أفضل للطلب والاستجابات بين العميل والخادم كما هو مسمى: المعلوماتية 1XX و 2XX الناجحة وإعادة التوجيه 3XX وخطأ العميل 4XX وخطأ الخادم 5XX.

 ماهي الجلسة HTTP Session


 جلسة HTTP هي سلسلة من معاملات استجابة الطلب على الشبكة.  يبدأ عميل HTTP طلبًا عن طريق إنشاء اتصال بروتوكول التحكم في الإرسال (TCP) بمنفذ معين على الخادم (عادةً المنفذ 80 ، أحيانًا المنفذ 8080).  خادم HTTP يستمع على هذا المنفذ ينتظر رسالة طلب العميل.  عند استلام الطلب ، يرسل الخادم سطر حالة ، مثل "HTTP / 1.1 200 OK" ، ورسالة خاصة به.  عادةً ما يكون نص هذه الرسالة هو المورد المطلوب ، على الرغم من أنه قد يتم أيضًا إرجاع رسالة خطأ أو معلومات أخرى.

 يعمل نموذج استجابة الطلب الخاص بـ HTTP وفقًا للنموذج أدناه.

Http session

 ماهو HTTPS ( SSL HTTP )


 HTTPS هو بروتوكول يستخدم لحركة المرور المشفرة داخل تدفق HTTP.  يتم تشفير الرسالة بالكامل عند استخدام طبقة مآخذ التوصيل الآمنة (SSL).  تتوفر العديد من إصدارات SSL والبروتوكولات ذات الصلة (Transport Layer Security و TLS و RFC2246) ، بما في ذلك SSLv1 و SSLv2 و SSLv3.  ولجعل الأمور أكثر إرباكًا ، تقدم SSL مجموعة متنوعة من الخيارات لمعيار التشفير المستخدم في إصدار معين من SSL.  على سبيل المثال ، مع SSLv3 ، يمكنك الاختيار من DES إلى RSA (RC2 و RC4).

 يوفر HTTPS مصادقة لموقع الويب وخادم الويب المرتبط به الذي يتصل به الشخص ، مما يحمي من هجمات man-in-the-middle.  بالإضافة إلى ذلك ، فإنه يوفر تشفيرًا ثنائي الاتجاه للاتصالات بين العميل والخادم ، مما يحمي من التنصت والتلاعب و / أو تزوير محتويات الاتصال.  من الناحية العملية ، يوفر هذا ضمانًا معقولاً بأن الشخص يتواصل مع موقع الويب الذي ينوي التواصل معه (على عكس المحتال) ، بالإضافة إلى ضمان عدم إمكانية قراءة محتويات الاتصالات بين المستخدم والموقع أو تزويرها بواسطة  أي طرف ثالث.

 تاريخيًا ، كانت اتصالات HTTPS تُستخدم أساسًا لمعاملات الدفع على شبكة الويب العالمية والبريد الإلكتروني وللمعاملات الحساسة في أنظمة معلومات الشركة.  في أواخر العقد الأول من القرن الحادي والعشرين وأوائل العقد الأول من القرن الحادي والعشرين ، بدأ HTTPS في رؤية استخدام واسع النطاق لحماية مصداقية الصفحة على جميع أنواع مواقع الويب وتأمين الحسابات والحفاظ على خصوصية اتصالات المستخدم وهويته وتصفح الويب.


اقرأ أيضا في دليل محلل الأمن السيبراني 

 
 

اقرأ أيضا عن مواضيع ذات علاقة بالشبكات