Python Programming

شرح مكتبة cookie jar في لغة بايثون 21

مكتبة cookie jar في بايثون

شرح مكتبة cookie jar في لغة بايثون

مكتبة (cookie jar) كوكي جار هي مكتبة وظيفتها عمل parse للكوكيز لدينا و ليكن لدينا نظام MSF admin مثل ميتاسبلويتبل نعمل عليه إختبار اختراق.

يتم التعامل مع كل من البروتوكولات بروتوكول ملف تعريف الإرتباط العادي Netscape و البروتوكول المحدد بواسطة RFC 2965, و يتم إيقاف تشغيل معالجة RFC 2965 إفتراضياً.

يتم تحليل ملفات تعريف الإرتباط RFC 2109 كملفات تعريف إرتباط Netscape و يتم التعامل معها لآحقاً إما كملفات تعريف إرتباط Netscape أو RFC 2965 وفقاً للسياسة السارية.

نلاحظ بأن الغالبية العُظمى من ملفات تعريف الإرتباط على الإنترنت هي ملفات تعريف إرتباط Netscape و يحاول http.cookie jar إتباع بروتوكول ملفات تعريف الإرتباط الفعلي Netscape الذي يختلف إختلافاً جوهرياً عن ذلك المنصوص عليه في مواصفات Netscape الأصلية بما في ذلك الإحاطة بسمات ملف تعريف الإرتباط max-age و المنفذ المقدمة مع RFC 2965.

>>> import http.cookiejar
>>> cj = http.cookiejar.CookieJar()
>>> import urllib.request
>>> op = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj))
>>> r = op.open("http://www.google.com")
>>> cj
<CookieJar[Cookie(version=0, name='1P_JAR', value='2020-06-12-14', port=None, port_specified=False, domain='.google.com', domain_specified=True, domain_initial_dot=True, path='/', path_specified=True, secure=True, expires=1594565680, discard=False, comment=None, comment_url=None, rest={}, rfc2109=False), Cookie(version=0, name='NID', value='204=vTm1O0nY71qx_AQW3jYopsdOUVlofny-OswXrQmq_qZQQPA9mkEzD1UfZRFt9czui2CKjW54xdN86csWD6wPvIMAAAwSaFBk7SWQ2uN9DF37CuPfzUHNC0eww1FB1DiM56euE_qM8CnuCnbslGqYzrg9011xVkUz-nHdstFIFgw', port=None, port_specified=False, domain='.google.com', domain_specified=True, domain_initial_dot=True, path='/', path_specified=True, secure=False, expires=1607784880, discard=False, comment=None, comment_url=None, rest={'HttpOnly': None}, rfc2109=False)]>

قمنا بإستدعاء import للمكتبة cookiejar و بما أننا نعمل على http سوف نلحقها به ليصبح الإستدعاء import http.cookiejar و بعده نحدد cookiejar لدينا و معظم المبرمجين يرمزو له بالرمز cj يعني cookiejar وهكذا إستدعينا هذه المكتبة. تكون وظيفة مكتبة cookiejar هي تخزين للكوكيز و بقي لدينا عمل opener, سوف نقوم بإستدعاء مكتبة urllib.request و بعده نبدأ بإستدعاء opener.

ليكون op=urllib.request.build_opener و build_opener تعني عمل opener و قلنا له أن opener يعمل على الـ http processor و سوف يأخذ مننا الـ cj ليخزن بها الكوكيز. عندما نقوم بفتح أي موقع سوف يتسجل الـ cj ويتخزن بها الكوكيز لدينا مثلاً.

r = op.open("https://www.google.com")

وعندما كتبنا cj اعطانا قيمتها أي كوكيز الجوجل.

إنشاء سكربت دخول مباشر للوحه الـ DVWA في الميتاسبلويتبل

import urllib.request
import urllib.parse
import http.cookiejar
cj = http.cookiejar.CookieJar()
op = urllib.request.build_opener(urllib.request.HTTPCookieProcessor(cj)
data = {"username":"admin",
   "password":"password",
   "Login":"Login"}
url = "http://192.168.224.131/dvwa/login.php"
encode = urllib.parse.urlencode(data).encode('ascii')
print(data)
res = op.open(url, encode)
print(res.read())
print(cj)

تشغيل سكربت الدخول للوحة DVWA

أولاً نذهب للمتصفح و نبحث في الإضافات عن إضافة اسمها Cookie Manager و نثبتها لدينا بالنقر على إضافة.

إنشاء سكربت دخول مباشر للوحه الـ DVWA في الميتاسبلويتبل

 

نقوم بتثبيتها و فتحها و تعبئة البيانات بها

إنشاء سكربت دخول مباشر للوحه الـ DVWA في الميتاسبلويتبل

ثم بعد ذلك نعطيه حفظ save و نغلق الصفحة و نقوم بالذهاب للمتصفح و فتح الموقع dvwa وسوف نلاحظ بأنه سوف بدخل مباشر لداخل لوحة الادمن و يتخطى بيانات الدخول لأننا حقننا الكوكيز ضمن السكربت و مبروك عليكم تخطي لوحة الأدمن.

للتعامل مع هذه المكتبة بكل إحترافية مع بعض الأمثلة لطرق الإستخدام قم بدراسة الصورة الآتية.

 

cookie jar python

اطرق تعليق لنري ما رضاكم علي الدروس التي نقدمها (إن كان هناك مشكلة في الدرس يمكنك التحدث مع فريق الدعم لحل لك المشكلة او طرق تعليق بتلك المشكلة ليتم التفاعل من خلال الزوار الآخرين)

Ahmedkaissar

من مصر من محافظة الجيزة مبرمج ويب و خبير أمن معلومات محب للتقنية و الأمن المعلوماتي مدرب للغات "Python,html, css, php, js, laravel"
زر الذهاب إلى الأعلى