OWASPIL Break The Captcha


תיאור האתגר
מפתח האתר הטמיע מנגנון Captcha על מנת למנוע הצפת טפסים, והמטרה שלנו באתגר היא לכתוב קוד שיצליח לעקוף את המנגנון ובכל זאת להציף את הטופס שלו בפניות.

כך שבאתגר זה אנו נדרשים לפתור 15 אתגרי captcha ב-30 שניות.

פתרון האתגר:


האתגר נראה כך:
שדה ו-captcha
על מנת לפתור את האתגר כתבנו סקריפט פייתון קצר שיפתור את ה-captcha באמצעות שימוש במודול pytesseract שזהו מודול OCR די מוצלח לדעתי. לינק למודול

הקוד המלא לפתרון האתגר נראה כך:
חלק ראשון של קוד הפייתון חלק שני של קוד הפייתון

לינק לקוד ב-Github שלי

הסבר לסקריפט:
הפונקציה get_image משתמשת במודול requests כדי להוריד את התמונה מהאתר ושומרת אותה מקומית.

הפונקציה get_captcha משתמשת במודולים PIL (חבילה של פייתון לעבודה עם תמונות) ו-pytesseract (כלי מבוסס OCR המשמש לקריאת טקסט בתוך תמונה).

הקוד המרכזי משתמש בשתי הפונקציות על מנת להוריד את התמונה ולהוציא ממנה את הטקסט, לאחר מכן הוא שולח את התוצאה לאתר על ידי הפנייה הבאה.

נפתח Suite Burp על מנת לראות אילו פרמטרים מועברים בבקשת ה-POST שנשלחת כאשר לוחצים submit. ניתן לראות כי הפרמטרים הם: captcha ו-submit.
captcha=dekzd&submit=
כעת, ניצור בקשת POST חדשה עם הפרמטרים שהזכרנו קודם ונריץ את הקוד:
ריצה של הסקרפיט ופתרון האתגר
וכך נקבל את הדגל:

OWASP-IL{YouAreTheCaptchaMaster!}

Share this post