פרצת האבטחה XSS – סיכון גבוה, עירנות נמוכה

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

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

רוב הציבור נוהג להסתכל על אבטחת מידע כדבר מאוד מונוטוני – כשאדם רגיל שומע שיש באתר “פירצת אבטחה” הוא מתחבא מתחת לשולחן, מנתק את המודם מהמקום וממלמל מתחת לשפם “שמע ישראל” בתקווה שההאקר המרושע לא ידפוק את המחשב. במציאות העניינים מתנהלים די אחרת: גם באתרים מקצועיים של אבטחת מידע, לרוב מדורגת הפירצה במדד מסויים (ראיתי כאלו שמדרגים אפילו בכמה מדדים נפרדים, מ-1-3, וציון סופי של 1 עד 10 – OSVDB). ישנם פרמטרים שונים שמשפיעים על כמה הפירצה חמורה, והרבה פעמים ימצאו פירצות שיהיה די קשה לנצל אם שאר האתר מוגן כמו שצריך (דוגמה טובה לכך תהיה פירצה שמסוגלת לפלוט את שם המשתמש של מנהל האתר, אך הפאנל לניהול יהיה מוחבא היטב, ובו תהיה הגנת CAPTCHA והגנה מהתקפות כוח-גס).

פרצת XSS – מורה נבוכים

היום אכתוב מאמר די טכני שכולל הסבר קצר מאוד, ולא מעמיק, על פרצות מסוג XSS. הייתי שמח גם אם האנשים הפחות-טכניים יתאמצו להבין את מה שכתבתי (ולא להסתפק ב-200 המילים שנכתבו עד כה), כשאני מצידי אעשה את המיטב על מנת להשתמש בכמה שפחות ביטויים מורכבים, מוזרים או סיניים. הסיבה לכך היא שהמאמר הוא בעצם מעין הקדמת-בסיס למאמר הבא שארשום על פגיעות מוזרה ושכיחה באתרים שונים, ושזהו המאמר הכי קרוב בבלוג הזה לנושא אבטחת המידע עד כה (לפחות לטעמי).

ראשי התיבות של XSS הן Cross Site Scripting. אז למה לא CSS, ישאלו החכמולוגים שבינכם, ויקבלו את התשובה שישנו כבר קיצור נפוץ מאוד בשם CSS – כל כך נפוץ, כנראה, שלא ראו לנכון לבנות עליו ביטוי נוסף. לכל אותם חברה שאינם בעלי רקע גדול מדי באתרי אינטרנט ובאבטחת מידע, אוכל להגיד שחלק נרחב מהפרצות החבויות באתרי אינטרנט, הן בעצם פגיעוּת עקב חוסר בדיקה של קלט מהמשתמש. אדם שיכול להיות איש אבטחת מידע טוב, הוא זה שיגלוש לאתר הבנק, וכשישאלו אותו “כמה אתה רוצה להפקיד לחשבון של מר. קוסטנזה” הוא ירשום בשדה הקלט 5000$- (שימו לב לסימן המינוס). בעצם, נעשה פה ניסיון להערמה על מערכת המחשוב של האתר – האם במקום הפקדה של $5,000 לחשבון, אוכל למשוך $5,000 מחשבונו של אותו מר קוסטנזה? כאן בעצם בא לידי ביטוי תפקידו של מתכנת מערכות הבנק למנוע מצבים שכאלו, או באופן סציפי יותר – תפקידו לזכור לרשום את התנאי שעבור כל סכום להעברה הקטן מאפס תוצג למשתמש שגיאה, והפעולה לא תבוצע.

אתרי האינטרנט עובדים על אותו רעיון: פעמים רבות אנחנו, כאנשים שמנסים להערים על מערכות ההגנה של האתר, נחפש היכן החוליה החלשה באותו אתר, או במקרה שלנו – היכן נוכל להכניס קלט באופן שימוטט את הגנת האתר ויתן לנו גישה מסוימת, למקום שאליו לא יכולנו להגיע לפני-כן. במאמר זה אציג את אחת הפרצות המפורסמות והנפוצות ביותר: XSS. במחקר שתוצאותיו פורסמו בסוף 2007, נמצא ש59.26% מהאתרים מכילים פרצת XSS (חשבו על היכולת לפרוץ שלושה מכל חמישה אתרים). רבים מזלזלים בכוחה של פירצה זו, אך עוד נגיע במאמר זה למה היא מסוגלת לעשות. לאחר כל ההקדמה הארוכה הזו – היידה, לעבודה.

כל אתר בנוי מקוד מסוים, שניתן לחלק לשני “סוגים”:

  1. חלק שמעובד על המחשב שלנו, של המשתמשים, ולכן הוא נשלח אל המחשב שלנו ויכול
    להקרא במלואו על ידינו (תוכלו לראות את הקוד הזה בכל אתר על ידי קליק ימני ->
    הצג מקור). הנפוצות ביותר הן HTML ו־JavaScript.
  2. חלק שמעובד על השרת, והדבר היחידי שנשלח אלינו, המשתמשים, הוא התוצאה (“הפלט”). השפות שמשתמשות בקוד שכזה הן לרוב שפות תכנות, וניתן לראות בתחום זה שפות רבות כמו PHP, ASP ודומות רבות להן.

אם נפרק את התקפת הXSS למרכיביה, נקבל מעין תרשים זרימה:

  1. אנחנו מנסים ליצור התקפה שתשפיע על עמודי האינטרנט, כך שנוכל לגנוב פרטים של המשתמשים בה.
  2. את ההתקפה נוכל לעשות על ידי ניצול מקומות בהם הקלט בלתי מסונן, משמע – מקומות באתר שהמתכנת לא בדק האם מה שהמשתמש הכניס הוא למטרה זדונית, או למטרות שימוש נורמליות.
  3. אם אנחנו רוצים לגנוב פרטים של המשתמשים, אנחנו מעוניינים שהפרצה תהיה חשופה לכמה שיותר מהם על מנת שכמה שיותר “יפלו בפח” ויסגירו את פרטיהם.
  4. נוכל להשיג כמות נכבדת של פרטי משתמשים על ידי עריכת תוכן הדף, באופן זמני או קבוע, כך שהתוכן שיוצג למשתמשים יהיה מעוות באופן כלשהו שיביא לנו את פרטיהם.
  5. שימו לב שאם אתם מבולבלים ואיבדתם את הידיים והרגליים – אתם בדרך הנכונה. המשיכו לקרוא.

בהתקפה זו לא נוכל שלא להשתמש במונח “עוגיות“, שמהוות אפשרות מעניינת ביותר לניצול פירצת האבטחה – העוגיות (Cookies, או “קוקית” בעברית.. בעע), הן מעין נתונים שאתרים שונים משתילים לנו במחשב. בניגוד לסברה הנפוצה שמדובר בוירוסים שמטרתם לעקוב אחרינו, העוגיות הן בעצם כלי חשוב שעוזר לנו באופן משמעותי להתנהלות היום-יומית באינטרנט: כך, נניח באופן מופשט, Gmail.com יכולים להכניס לנו עוגיה עם שם המשתמש והסיסמה שלנו לחשבון המייל, אם לחצנו על “שמור סיסמה”. מטרת העוגיה היא, כמובן, להכניס אותנו באופן אוטומטי בפעם הבאה שנכנס לאתר. הפרטים בעוגיה לרוב מוצפנים, על מנת שלא יוכלו להקרא על ידי גורמים עויינים שמאזינים לנו. שימו לב שאף אתר לא יכול לקרוא את התוכן של עוגיה ספציפית חוץ מאותו אתר שהגדיר שהיא בשליטתו. זאת אומרת: אם Gmail יצרו עוגיה שבה פרטי החשבון שלי, Hotmail לא יוכלו לקרוא מה יש בעוגיה – כי אין להם גישה לכך.

קבוע או זמני?

נחלק את התקפת הXSS לשני חלקים (למרות שיש חלק שלישי, עליו לא נדון במאמר):

  1. פרצה קבועה: השתלת קוד משלנו בתוך האתר (נניח, בפורומים או במערכות אתרים שמרשות לנו לנהל את הHTML שלנו).
  2. פרצה “זמנית”: באתרים שמציעים עמודים דינאמיים בעלי קלט שמתקבל מהמשתמש – נפרט מיד. הסוג הנפוץ יותר.

פרס לאלו שסבלו עד כאן: בדיוק כאן נתחיל את הפירוט על פרצת הXSS שלנו וכיצד לבצע אותה. הפרצה הקבועה היא מעולה לצורך הדגמת עקרונות של הXSS, ולכן נתחיל איתה. בואו נניח שיש פורום מסוים, שמאפשר לנו להכניס בהודעותינו קוד HTML וקוד JavaScript טהור (כאלו שבונים איתם אתרים). מה שנעשה הוא דבר שכזה:

  1. נכין דף מראש על השרת שלנו, שיחכה לקבל כפרמטר תוכן של עוגיה. נקרא לו OogiFletzet.php, ומטרתו: ברגע שהוא מקבל עוגיה, הוא מאחסן אותה על Ate.txt
  2. בדף הפגיע שמצאנו באתר ההוא (זה שמאפשר להכניס בו קודים), נרשום סקריפט בJavaScript שישלוף את התוכן של העוגיות של מי שצופה בדף.
  3. הסקריפט של הJavaScript ישלח לOogiFletzet.php את העוגיות שהוא שלף.
  4. נשאר רק לחכות שמשתמש (קורבן) מסכן יכנס לדף שבו שתלנו את הסקריפט בשלב 2, ופרטי העוגיות שלו ישלחו אלינו.
  5. לרוב, פרטי העוגיות מוצפנות. לכן, נוכל להזריק לעצמינו את העוגיות (לעזאזל, זה נשמע ממש רע) שנצברו בAte.txt ולהשתמש בהן כיאילו היו שלנו.

לקוד שכזה, כמו שהוצג בשלב 1, קוראים Cookie Stealer (תודו שזה משעשע ותמיד חלמתם על לגנוב עוגיות! פשוט אמא די מפחידה כשזה מגיע לשם…) בכל מקרה, פעמים רבות הקוד יסונן, אבל בצורה כושלת. ישנן דרכים רבות לעקוף אותו, אבל למען האמת, המדריך הזה בא לעסוק יותר בצד התיאורטי, ולכן לא אפרט פה שום דרך לגניבת עוגיות וכיו”ב (אנחנו בברנז’ה של הכובע הלבן, זוכרים?).

ניתן תרשים ויזואלי שאולי ימחיש קצת מה הולך כאן:

אבל אם להגיד את האמת, הסוג הזה של XSS נפוץ הרבה פחות. לכתוב הודעה באיזשהו פורום, לחכות שאנשים יכנסו ולקבל הרים של עוגיות זה חלומו הרטוב של כל האקר – אבל זה די נדיר. הפרצה הזמנית היא נפוצה הרבה יותר, ולא אתפלא אם במחקר ההוא שנערך ב2007, כ50% מתוך אותם 59.26% היו פרצות “זמניות”. קצת קשה להסביר את שונותה של הפרצה הזמנית מזו של חברתה הקבועה, אבל נוכל לנסות ולנסח כלל שכזה: פרצה קבועה מוטמעת בתוך תוכן האתר, בעוד שפרצה זמנית נוצרת כל פעם מחדש. הטכניקה של גניבת העוגיות היא אותה טכניקה עם שינוי אחד קטן: אנחנו הופכים להיות יותר אקטיביים. אנחנו לא ממתינים שאנשים יכנסו לדף שבו השתלנו את פרצת האבטחה, אלא אנחנו פועלים ושולחים לאנשים פרצת אבטחה שיצרנו. כיצד זה עובד?

  1. לרוב, את פרצת הXSS הזמנית אנחנו נראה בכתובות של אתרים, כאשר כתובתם דינאמית.
  2. כתובת דינאמית תהיה, נניח, http://mysite.com/index.php&search=hello – בכתובת זו אנו עושים חיפוש אחר המחרוזת “hello”, והיא משתמשת בשיטה בשם GET לשליחת הנתונים שלה, לפיה הפרמטרים מועברים דרך הכתובת (לדוגמה: search הוא פרמטר, שמציין לעמוד index.php באיזו מחרוזת להשתמש לצורך החיפוש. במקרה זה, המשתמש החליט לחפש hello).
  3. אופציה למה שיוצג למשתמש לאחר חיפוש שכזה הוא: “חיפשת את המחרוזת hello, ולהלן התוצאות”. אנו רואים שפלט הדף קשור באופן ברור למחרוזת שהזננו, ולכן נשחק מעט עם הכתובת.
  4. נשנה את הכתובת ל<http://mysite.com/index.php&search=<script>alert(“hello”)</script . מה שהכנסתי בפרמטר החיפוש הוא בעצם סקריפט קצר בג’אווהסקריפט, שמטרתו הוא להקפיץ הודעה למשתמש.
  5. נכנס לכתובת, ואם תוצג למשתמש הודעת שגיאה עם הכיתוב hello, נדע בוודאות שהאתר פגיע.

רבים ישאלו “למה זה פגיע, הרי זה מוצג רק אצלינו” – וכאן קבור הכלב. באפשרותינו לשלוח קישור שכזה לאדם אחר המשתמש באותו אתר, כאשר בפרמטר search נוכל להכניס סקריפט שישלוף את העוגיות וישלח אותן ישירות לCookie Stealer שלנו. כשהמשתמש ילחץ על הקישור (וזה ממש לא בעייתי לעשות דבר שכזה עם קצת הנדסה חברתית) עוגיות המשתמש ישלחו אלינו, וכך נגנוב את פרטי החשבון שלו! האופציות הגלומות בעניין אדירות: אם מנהל האתר נכנס לקישור – אפשר להרים כוסית, הרי שהאתר נפרץ. נוכל גם להשתיל בקישור העברה לתוכנה זדונית שבנינו, או אפילו לגנוב רק את האימייל לצורך ספאם. האפשרויות הגלומות בהתקפה הן אין-סופיות, מגניבת זהות ועד פריצה לאתר כולו.

למרות זאת, רבים ממעיטים בערכו של הXSS הזמני – אני מניח שזה משום שיש צורך ממשי שמשתמש יכנס לאותו קישור נגוע. אינני מסכים עם תחושת הבטחון הפיקטיבית הזו, וקורא לכם לזכור שבעידן מקצרי הקישורים למינהם לא קשה לגרום לכם ללחוץ על לינק – bit.ly וtinyurl עושים את זה ממש קל לגרום לכם להתעניין וללחוץ. פירצת XSS לרוב בכלל לא תהיה מורגשת, ותוודעו לה רק שחשבונכם יפרץ. היא קיימת באין-ספור אתרים בעולם, ובכתבה הבאה אני אראה לכם כיצד אפשר לזהות כמה מהם ב5 שניות בדיוק.

מקווה שהשכלתם,
ים מסיקה

לקריאה נוספת: בבלוג של גיא מזרחי“שליף” לבדיקות XSSיםתזכורת באתר של ניוזגיקהערך בויקיפדיה (או בעברית), ואפילו פוסט נוסף שפורסם בבלוג.
כל מה שנכתב בבלוג הוא כמובן ברמה התיאורטית בלבד. השימוש בו למטרות פרקטיות אסור לחלוטין על פי חוק המחשבים התשנ”ה (1995).

הפוסט פורסם במקור בבלוג G33ky Stuff של ים מסיקה

ים מסיקה

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

הגב

19 תגובות על "פרצת האבטחה XSS – סיכון גבוה, עירנות נמוכה"

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 

* היי, אנחנו אוהבים תגובות!
תיקונים, תגובות קוטלות וכמובן תגובות מפרגנות - בכיף.
חופש הביטוי הוא ערך עליון, אבל לא נוכל להשלים עם תגובות שכוללות הסתה, הוצאת דיבה, תגובות שכוללות מידע המפר את תנאי השימוש של Geektime, תגובות שחורגות מהטעם הטוב ותגובות שהן בניגוד לדין. תגובות כאלו יימחקו מייד.

סידור לפי:   חדש | ישן | הכי מדורגים
Lem
Guest

כיף! המון תודה על המידע, מחכה לכתבה הבאה… :)

ים מסיקה
Guest

תמיד כיף לקבל פידבק חיובי (:

תודה (:
– ים

sagiv
Guest

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

ים מסיקה
Guest

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

תודה רבה על המחמאות (:
– ים

אריה
Guest

מאמר מצויין.
רק תיקון קטן – JS היא שפת תכנות בדיוק באותו האפן שPHP היא שפת תכנות – במובן ששניהן הן interpreted ולא compiled. זה נכון עד כדי כך שאתה יכול היום להשתמש בJS בצד שרת באפן מלא (ומגניב ד”א).

ים מסיקה
Guest

תודה רבה אריה.

נכון לחלוטין שJS וPHP עוברים שניהם הרצה דרך מפרש ולא דרך מהדר, ונכונה גם העובדה שכיום ניתן להריץ JS על צד שרת. עם זאת, העניין לא ממש בשימוש (לפחות לא מקודים שיצא לי לראות) ולכן בחרתי שלא להכניס את העניין לכתבה.

שוב תודה (;
– ים

אריה
Guest
הנקודה שלי לא הייתה שJS היא גם שפת צ”ש, אלא שהיא שפת תכנות לכל דבר. רמת המורכבות והתחכום של אפליקציות JS היום לא נופלת בשום צורה מרמת התחכום של אפליקצות הPHP המתוחכמות ביותר. היא שפה מאוד חזקה שזכתה ליחסי ציבור גרועים במיוחד, בעיקר כי סלחנית מאוד לקוד גרוע. הנקודה שלי היא שאתה שם אותה באותה קטגוריה כמו HTML – וזה פשוט לא נכון. HTML היא שפת מארקאפ. JS היא שפת תכנות לצד לקוח (בשימוש הנפוץ שלה בכל מקרה). לכן גם הסכנה שטמונה בה. לא משנה מה תעשה עם HTML, הוא לא יוכל לפגוע במחשב המשתמש. לJS יש יכולת אמיתית להריץ… Read more »
שחר
Guest

JS זה לא שפת שרת

אנונימוס
Guest

התקפות כוח-גס… חחחח גדול שניסיתם לתרגם את זה.

ים מסיקה
Guest

היי, תודה על התגובה.

למרבה המזל – אני לא האומלל שהיה צריך לתרגם את הביטוי. גם אני צחקתי לראשונה ששמעתי את התרגום, אבל כאחד שמנסה להצמד כמה שיותר לכתיבה בעברית….

שבוע נהדר,
– ים

א
Guest

כתבה מצוינת, חוץ מההערה השוביניסטית והדוחה על יחסי השליטה של בעל על אשה (או של אתר על עוגיה).

ים מסיקה
Guest

שלום ותודה על המחמאה,

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

שבוע נהדר שיהיה,
– ים מסיקה

עומר
Guest

כתבה מצויינת!

רק הבעיה עם הפירצה היא שבד”כ אתרים גדולים(נכון שיוטיוב עשה פדיחה) מאוד מוגנים ממנה.
ולכן בד”כ רוב הניצול שלה הוא באתרים קטנים.
ואני לא אומר שאין אבל מאוד קשה למצוא(צריכים להיות מאוד מאוד יצירתיים בשביל זה).

עומר.

moran
Guest

כל הכבוד ים, תותח ……….

גידי
Guest

כתבה מצוינת, חוץ מההערה השוביניסטית והדוחה על כך שjavascript איננה שפת תכנות.

yammesicka
Guest

ROFL, תודה על התגובה גידי. שמח שאהבת.
יש בי משהו שמאוד מקשה עלי להגדיר את JavaScript כשפת תכנות (אין לי מושג למה), אבל טכנית אתם צודקים. JavaScript מוגדרת כשפת תכנות.
שוב תודה,
– ים

צחי
Guest

היי

כתבה באמת מעניינת.

רק לצורך הבהרה, אמרת שרק האתר שהוא ‘בעל’ העוגיה יכול לקרוא אותה. זה אומר שאם בוצעה התקפת XSS על האתר YOUTUBE אז רק העוגיות של המשמשים ב-YOUTUBE נשמרו ע”י התוקף?
ואם נניח ההתקפה הייתה על -GMAIL אז רק העוגיות של GMAIL היו נשמרות?
זה בעצם אומר שבשביל שתוקף יוכל להשיג את פרטי המשתמש שלי באתר מסוים באמצעות XSS, הוא חייב להשתיל את הקוד שלו באתר הספציפי הזה. הבנתי נכון?

ועוד משהו, הקישור ל’הנדסה חברתית’ הוא לא נכון (יותר נכון הוא מקשר לערך הלא נכון)

הקישור המתאים הוא זה:
http://he.wikipedia.org/wiki/הנדסה_חברתית_(אבטחת_מידע)

ים מסיקה
Guest

שלום צחי ותודה רבה על התגובה,

הבנת בהחלט נכון.
אל תשכח שאפשר לשתול במקום Cookie Stealer גם סקריפט שינסה להחדיר רושעה למחשב (תוכנה זדונית) – ובמקרה הזה כבר העניינים מתחילים להסתבך.
תודה על תיקון הלינק, אבל לצערי איך לי הרשאות לעריכת הכתבה.

תודה על המחמאות,
– ים מסיקה

wpDiscuz

תגיות לכתבה: