Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2023-24329-Exploit — إثبات مفهوم يوضح ثغرة تجاوز في تحليل عناوين URL في مكتبة urllib.parse الخاصة بلغة بايثون (CVE-2023-24329) والتي تسمح بتجاوز قوائم الحظر عن طريق إضافة مسافات في البداية. | Kitploit
أدوات/GitHubGitHub/pentestmano/cve-2023-24329-exploit
تحليل الثغرات الأمنيةالاستغلالاستغلال تطبيقات الويبأمن الويباختبار الاختراق
GitHubpentestmano/cve-2023-24329-exploit

CVE-2023-24329-Exploit

إثبات مفهوم يوضح ثغرة تجاوز في تحليل عناوين URL في مكتبة urllib.parse الخاصة بلغة بايثون (CVE-2023-24329) والتي تسمح بتجاوز قوائم الحظر عن طريق إضافة مسافات في البداية.

عرض المستودع
منذ 2 سنواتلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

مقدمة

تركز دوال تحليل عناوين URL على تقسيم سلسلة URL إلى مكوناتها، أو على دمج مكونات URL في سلسلة URL.

  • urllib.parse.urlparse

ببساطة يتم استخدام urllib.parse لتحليل عناوين URL، ويمكننا تجاوزها بإضافة مسافات قبل العنوان. يحدث هذا في بايثون 3.11.4 وما قبلها.

إثبات المفهوم (PoC)

لنقم بتحليل example.py

إليك مجموعة من المواقع التي يجب ألا تصل إليها:

root@kitploit:~
blocked_list = [
    "http://example.com/",
    "http://example2.com/"
]

تتحقق هذه الدالة مما إذا كان الموقع موجودًا في القائمة المحظورة أم لا، وإذا كان في القائمة المحظورة فيجب أن تُرجع URL Blocked

root@kitploit:~
def is_url_blocked(url):
    parse = urllib.parse.urlparse(url).geturl()
    if  parse in blocked_list: return 'URL Blocked'
    else: return 'Bypassed'

الآن أضفت عنوانين URL وأتحقق مما إذا كان أي منهما محظورًا ولا يمكن الوصول إليه:

root@kitploit:~
payload1 = "    http://example.com/"
payload2 = "http://example.com/"

print(
    is_url_blocked(payload1),
    "\n",
    is_url_blocked(payload2)
)

payload1 هو المكان الذي تجاوزت فيه is_url_blocked() لأن إضافة مسافة طويلة قبل العنوان ستتجاوز urllib.parse.urlparse(url).geturl() ولن يتم تنفيذها كما هو متوقع. لهذا السبب يكون الناتج

root@kitploit:~
Bypassed

لكن مع payload2 نحصل على

root@kitploit:~
URL Blocked

الدعم

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

Buy Me A Coffee

تنزيل الأداة