
הטקסט המלא של הדקות הראשונות בהרצאה «הגדרת פרוקסי Burp Proxy בדגש על HTTPS» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום לכולם, בהרצאה הזו אנחנו רוצים להגדיר פרוקסי שיתפוס את כל התקשורת בין הדפדפן לשרת וכך נוכל להתגבר על כל מיני הגנות שיש לנו בתוך אתר אינטרנט בצד הלקוח.
נניח בתוך שדה מסוים אפשר להזין רק חמישה תווים ואנחנו ניקח ונזין 20 תווים. עכשיו, מה שיגביל את הלקוח זה הדפדפן עצמו. אנחנו נתפוס את התקשורת שתצא מהדפדפן לכיוון השרת, נחליף אותה באמצע ונשלח אותה הלאה.
זאת אומרת, נתגבר על ההגנות ברמת הלקוח. זה הרעיון המרכזי שלנו. אז בשביל זה יש לנו שרתי פרוקסי שתופסים את התקשורת. חוץ מזה, גם משתמשים בשרתי פרוקסי בארגונים כדי לעשות בקרה מי הולך לאן, ויותר מזה, לתעד מי הולך לאן, ויותר מזה, גם אם מישהו מבקש בארגון דף שמישהו אחר ביקש אותו לפני חצי דקה, כמו איזשהו דף של חדשות, אז אין טעם לצאת
פעמיים לגוגל, לאינטרנט, ולהביא את אותו הדף. אז שרת פרוקסי יכול גם לשמור בזיכרון שלו את הדפים שביקשו עובדים אחרים, ולתת לך אותו מזיכרון בלי לגשת תכלס לאינטרנט.
אז גם בקרה, גם חוסך תעבורה, וגם אנחנו יכולים לנצל אותו, את הפרוקסי, כדי לתפוס תקשורת אחרי הדפדפן ולפני שזה מגיע לשרת. בואו נראה את הפרוקסי הזה, יש לנו פרוקסי שנקרא ביורפ, ביורפ סוויט, זה הפרוקסי הכי ידוע.
אם נעשה פה התחל, יש לנו בקטגוריה של Web Application Analysis ביורפ סוויט. אז אנחנו יכולים להריץ אותו מכאן או מכאן. עכשיו אנחנו נקבל את כל הגדרות ברירת המחדל, אנחנו לא נשנה שום דבר.
בואו נסכים לכל התנאים שלהם, נעשה על הכל נקסט, לא צריך לעשות Update, אנחנו לא רוצים לעדכן כלום, נעשה נקסט סטארט הכל ברירת מחדל זאת הגרסה החינמית יש גם גרסה בתשלום ואנחנו רואים פה כל מיני כלים יש לנו כלי הכי חשוב שזה פרוקסי זה שתופס את התקשורת באמצע בוא נראה איך זה עובד הוא עושה אינטרספט איז און הוא תופס
כל תקשורת ועוצר אותה במקום להגדיר דבדפן בצורה ידנית יש פה כפתור שמפעיל את הכרומיום דבדפן משלו עם כל ההגדרות מוכנות נשתמש בזה נראה איך עובד הפרוקסי ואחרי זה נגדיר את הדפדפן בעצמנו אז אני עושה פה open proxy ואני הולך לגוגל והוא תפס את הבקשה שלי לגוגל שימו לב למה כי intercept is on הוא תפס את הבקשה והדפדפן פה ממתין לתשובה מגוגל אתם רואים הוא כאילו
מסתובב חושב שגוגל לא עונה לו בפועל אני תפסתי את הבקשה ואני יכול לשנות פה מה שאני רוצה בתוך הבקשה הזאת לדוגמה אני יכול לכתוב פה לא יודע מה למחוק את כל החלק הזה.
סתם דוגמא, מחקתי את כל זה. ואז אני שולח את זה הלאה. אני יכול לעשות forward, לשלוח הלאה ל-google.com, או לעשות drop, לא לשלוח את זה.
אז אני לקחתי, שיניתי את הבקשה שהוא שולח, ואז מעביר את זה הלאה. עכשיו הוא שולח עוד בקשה, זאת בקשה הבאה שלו, אני יכול גם אותה לשנות ולהעביר הלאה.
ואני יכול להגיד לו, תקשיב, תמשיך לעבוד בלי לעצור אצלי, ואז הוא עובד בלי שאני מפריע לו. אני יכול לעשות לו טסט אחד נניח, נעשה נניח טסט אחד, רק בואו נעבור לאנגלית, אינגליש, הנה פה הוא רוצה ליצור זוג מפתחות, הוא מבקש זוג מפתחות, איזושהי סיסמה לזוג מפתחות, תכף אני אסביר
לכם מה זה זוג מפתחות הזה. למעשה מה שקורה שאנחנו גולשים לגוגל.קום, בואו נעשה טסט 2, התקשורת לא נעצרת פה אבל יש לנו את כל ההיסטוריה, שימו לב, בגלל שהכל עובר דרכי, דרך פרוקסי, אז הוא תופס את כל התקשורת, את כל הבקשות שאני שולח לשרת ואת כל התשובות שהשרת שולח אליי.
אני למעשה man in the middle, אני עומד באמצע ואני תופס את כל הבקשות. לדוגמה, הנה, הנה, הנה, פה אנחנו רואים טסט 2 שביקשו לחפש מילת טסט 2. הכל עובר דרכי, למרות שזה מוצפן, למרות שזה HTTPS, עדיין אני מצליח לפתוח את ההצפנה.
תשאלו איך אתה מצליח לפתוח את ההצפנה? ועכשיו אני אראה לכם שהצפנה למעשה בסרטיפיקט, תעודה דיגיטלית אתם יכולים לראות שתעודה דיגיטלית לגוגל דוט קום נתן מי הפרוקסי שלי למעשה הפרוקסי שלי שובר את התקשורת שולח פקטים לגוגל וכשהוא מקבל תשובה כלקוח מגוגל הוא מעביר אותם חזרה
ללקוח המקורי אבל אין לו את היכולת להצפין במקום גוגל אז הוא מצפין בשמו זאת אומרת ההצפנה היא פה כאילו מגוגל אבל בפועל מי זה האבא הזה של תעודה הזמנית הזאתי של גוגל כביכול.
האבא זה הפרוקסי. פרוקסי למעשה מהצד של הלקוח משמש כאילו הוא שרת גוגל. זאת אומרת, הקליינט שלח את זה לגוגל, הפרוקסי תפס את זה, שלח את זה בעצמו לגוגל, קיבל תשובה, ואז ארז את התשובה ושלח חזרה ללקוח.
אבל התשובה צריכה להיות מוצפנת, אז הוא מוסיף תעודה דיגיטלית של גוגל כדי שייראה לו הכל תקין. רק האבא של גוגל זה לא הגוגל המקורי, כי הוא לא יכול לחתום עם התעודה המקורית, אז הוא ממציא תעודה משלו.
הבנתם? זה הטריק. תסתכלו, אני אסביר לכם יותר טוב. אם ניקח Firefox רגיל, נדליק Firefox רגיל, זה ה-Firefox הרגיל, הדפדפן הרגיל, ונלך לגוגל, זה הגוגל הרגיל, הכל רגיל, זה הגוגל הרגיל שלנו, אנחנו נראה פה בתעודה דיגיטלית, ב-More information, view certificate,
לראות את התעודה הדיגיטלית ב-HTTPs, נראה שתעודה של גוגל נתן לו זה נתן לו זה נתן לו זה זאת אומרת יש לו שרשרת כזאת של אבות שכל העולם סומך עליהם והתעודה של גוגל חתומה עם הפרייבט קי עם המפתח הפרטי של האבא שלו אז מה שקורה שאני לא יכול לזייף את זה כי אין לי מפתח פרטי של האבא
אז אני מייצר תעודה חדשה כפרוקסי כשרת פרוקסי מייצר תעודה חדשה זאת והאבא הוא הפרוקסי עצמו הפרוקסי הוא האבא של התעודה למעשה הוא מנפיק לעצמו תעודה חדשה.
עכשיו למה הלקוח לא צועק? למה הלקוח לא מתאזמן? כי זה על אותו מחשב. אם היינו עושים את זה על שני מחשבים שונים היינו צריכים לייבא את התעודה הזאת של הפרוקסי לרשימת התעודות שסומכים עליהן.
בואו נראה איך עושים את זה, איך מייבאים את התעודה הזאת של פרוקסי לרשימה של תעודות שהדפדפן סומך עליו. למה אנחנו צריכים לעשות את זה? שוב, כי אנחנו נכנסים באמצע ואנחנו מצפינים את התקשורת.
כשהתקשורת היא מוצפנת, לא מספיק שהיא מוצפנת, היא צריכה להיות גם מאבא של כולם סומכים עליו. ואם אני נהייתי האבא החדש, אני צריך להסביר שישמחו עליי.
אם אני לא אעשה את זה, תראו מה יקרה. אני עכשיו אפעיל את ה-intercept, את התפיסה, אבל לא מהבראוזר שלהם, לא על pre-configured browser, אני רוצה להגדיר לבד את הפרוקסי, ולראות מה קורה כשזה לא דבדפן שכבר הגדירו עבורי והכל עובד שמה מצוין, איך אני לבד גורם לדבדפן לסמוך על תעודה הדיגיטלית
של הפרוקסי שלי? למה אני צריך שהוא יסמוך על תעודה דיגיטלית של הפרוקסי? תכף תראו. אני יודע שזה קצת מסובך, אז זה הסוד. הסוד זה שמי שהנפיק את התעודה צריך להיות זה שהמחשב סומך עליו, אחרת אנחנו נקבל התראה.
בואו נראה את ההתראה הזאת. תראו, מה שקורה כאן, שהתוכנה הזאת של פרוקסי מאזינה ומוכנה לקבל תקשורת מכל מיני לקוחות שרוצים להשתמש בה, מה זה הלקוחות האלו? זה דפדפנים רגילים, צריכים לפנות לכאן, ל-IP הזה, במקרה הזה זה IP מקומי, לפורט 8080, אני יכול להוסיף עוד ה-IP ולהגיד,
תקשיב, תאזין גם ב-IP כזה וכזה, ובפורט נניח 8080. בינתיים אני לא עושה את זה, בינתיים הוא מאזין רק ב-127, רק אני לעצמי יכול להיות פרוקסי. אני פותח דפדפן רגיל, שימו לב, אני פותח פה Firefox רגיל לחלוטין, אני אפתח אותו מ-0, ובפיירפוקס הרגיל אני אשלח אותו בהגדרות, אתם רואים אני בהגדרות שלו, בפרפרנסס, אני אשלח אותו לשרת פרוקסי, אני אגיד לו תקשיב,
כל מה שאתה מוציא, אתה מוציא את זה דרך פרוקסי