شرح مكتبة cookiejar في لغة بايثون - ProgrammerTech
Language:

Search

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

  • Share this:
شرح مكتبة cookiejar في لغة بايثون

مكتبة cookiejar في بايثون

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

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

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

نلاحظ بأن الغالبية العُظمى من ملفات تعريف الإرتباط على الإنترنت هي ملفات تعريف إرتباط Netscape و يحاول http.cookiejar إتباع بروتوكول ملفات تعريف الإرتباط الفعلي 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 و نثبتها لدينا بالنقر على إضافة.

1-110.webp

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

2-101.webp

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

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

3-84.webp

Muhammad Alush

Muhammad Alush

إسمي محمد تركي العلوش محب للتقنية و التعلم الذاتي, و جميع خبراتي تعلمتها ذاتياً, و اللغات البرمجية التي أتقنها هي html, css, javascript, php, c, python بالإضافة إلى حبي الكبير لمجال الشبكات.

موقعي programmer-tech.com