December 2007 - Posts
בבלוג המקביל שלי בערוץ 7, העלתי פוסט קצר על משחקים נחמדים, חינמיים (בחלקם) וגם לא אלימים. פופו-אפ לשרשור קצת ישן בפורומים שם.
מי מביננו שיש לו אחים/ילדים שמחפשים משהו יותר מאתגר מאשר גופות מרותשות על המסך וירי לכל כיוון, יוכל למצוא תועלת בקישור הבא:
http://www.inn.co.il/Blogs/Blog.aspx/1

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

משחק השח המובנה ב-Windows Vista. המשחקים שמגיעים עם המ"ה הזו מאוד חמודים, וכמובן לא אלימים.
אני משתדל להיות מאוד זהיר. כל קלט שאני מקבל אני בודק ב-7 בעיניים ומוודא שאין שם סקריפטים משום סוג שהוא.
תמונות (להבדיל מקישורים), לא עלה בדעתי מעולם לבדוק src של תמונות.
ובכן, הדבר הבא, שהופעל נגדי על ידי גולש עובד (IE6/7 על כל מ"ה):
<img src=BLOCKED SCRIPTalert(0)>
אבל בכל זאת יש בדיקה של XSS בשרת, אז עקפו אותה בדרך פשוטה להחריד:
javascript:docum&
למיטב ידיעתי, אין לחור החמור הזה כרגע פיתרון בדפדפן. כל מע' פורומים וכיוצ"ב שמאפשרת לגולש העלאת תמונות - חשופה.
(עוד חורים בסגנון, והדפדפנים עליהם הם רצים: http://ha.ckers.org/xss.html)
מי מאיתנו שמשתמש או השתמש ב-Windows Vista, נתקל בוודאי בפער האדיר שבין התקפות התקשורת הישראלית עליה, לבין האמת. בפועל, כמו שכבר כתב גדי בבלוג ה שכן- לכל תכונה יש מחיר והמשתמש יכול לבחור אם להפעיל אם לאו.
נער הייתי, גם התחיילתי, ונוכחתי לדעת שויסטה לא רצה לאט גם על מכונות חלשות (1.8GHz ו-512MB RAM ומטה), ובחלק מהשימושים אף מהירה משמעותית ממ"ה XP על מכונה חזקה הרבה יותר. כמובן, לא שהיא רצה שם מי יודע מה, אבל בכל זאת גם XP לא הייתה שם מי יודע מה.
האמת שבהתחלה לא באמת רציתי את ויסטה וקצת נטיתי להאמין לשטיפת המוח בתקשורת. אם לא הייתי מקבל את הרשיון (Home Premium) במתנה מהעבודה - ספק אם הייתי מתעסק עם זה בכלל. וכך, למרות כל ההפחדות על איטיות המערכת, התקנתי אותה לראשונה על מחשב בן למעלה משלוש. ההתקנה עברה חלק, ולמעט דרייברים של כרטיס מסך עתיק (32MB) שזייפו קצת ומיררו את החיים בהתחלה, המחשב עבד בסדר גמור.
בהמשך את המחשב נתתי לאחי הקטן (11) שהכין במקרה ולשם שינוי שיעורי בית באותו ערב, ע"מ שישחק בו. הנ"ל מאושר עד הגג מזה שקיבל ויסטה, אינו מתלונן בשום צורה, ואף ויתר על ההפגנות שהחל לעשות באותה תקופה על כך שהוא רוצה מחשב חדש.
הבעיה היא לא ויסטה, היא התקשורת.
לויסטה יש יתרונות, יש חסרונות, יש יכולות מאוד מעניינות שמגיעות מובנות (גיבוי? עותקי צל?) והועתקו מסביבות השרתים למינהן או חודשו. אחדות מהן אף הצילו את חיי לא אחת בעת שהופעלו על תיקיות (עותקי צל בעיקר). המערכת יציבה קצת יותר מ-XP והחיפוש המובנה נחמד ומהיר משמעותית מכלים שהותקנו על ה-XP. גם IE7 על ויסטה מהיר משמעותית מ-IE7 על XP ובמחשב חזק בהרבה.
לויסטה יש המון יכולות שהן (לדעתי האישית בלבד) שטויות במיץ לימון, וקשקושים גרפיים שממררים את חיי כשמתחברים למכונות הללו דרך RA או RDP. אחרים דווקא כן נהנים מהן וזה בסדר גמור.
וזה לא רק אחי. לא מעט אנשים, בהחלט בעלי מקצוע שאני מכיר, התייחסו למערכת ההפעלה החדשה בצורה שונה לחלוטין כאשר התקינו אותה בפועל על מחשב (בדרך כלל חלש) בצד וגילו כי המרחק בין השטויות שפורסמו בעיתונות וברשת עליה, לבין המציאות - רב. זה לא שאין חסרונות, אבל בסה"כ מדובר במ"ה בוגרת שעובדת מצויין.
הבעיה היא התשקורת. חלק גדול מדי מהעיתונים וכלי התקשורת בישראל, מוטים חזק מאוד לצד אחד, אפשר לראות את זה במפה הפוליטית - "ימין קיצוני" לעומת "פעילי שלום" (כן, אלה שעוזרים לאוייב לרצוח יהודים), או למשל בהגדרה "מאחזים בלתי חוקיים" (יהודים ביו"ש) לעומת "כפרים בלתי מוכרים" (ערבים/בדואים בנגב ובגליל).
ואם מישהו חשב ששיטות העבודה המוכרות עד לזרא מהעולם הפוליטי לא מגיעים לכתבלבי המחשבים - אינו אלא טועה. ויסטה הפכה מהיסוד את שיטות ניהול הזיכרון, אבל בתקשורת המשיכו למדוד אותה בשיטה הישנה, וטענו שהיא זוללת זיכרון. אף מילה על שיפור הביצועים בהעברת ה-Swap לכרטיסים ניידים למשל (ראיתי בעיקר זלזול ביכולות של הכלי הזה, למעט כאן), שיכולה להיות שידרוג זול וקל במחשבים ניידים או כלים אחרים שמובנים במ"ה ופשוט לא נתקלים בהם עד שמפעילים אותה בפועל (או נכנסים לאתרים דוברי אנגלית).
אם מישהו תהה - אני מחרים מזה שנים את הזבלון הרדוד שמכונה וואלה. גם מסיבות פוליטיות, גם מסיבות של פרסומות דוחות וגם בגלל שהוא סתם רדוד וחסר ערך. מדור המחשבים של NRG לרוב מכיל שטויות רדודות ("רכילות על מחשבים" בלשון הזהב של מישהו כאן) וב-YNET המצב לא טוב יותר.
בעולם האינטרנט, לא חסרים מקורות תוכן איכותיים אחרים. מקסימום נשפר קצת את האנגלית, ותמיד אשמח לשמוע על חדשים כאלה. התשקורת הישראלית - לא ראויה ליחס.
אני מקווה שרובכם מכירים את נושא ה-XSS. הקשר שלי לתחום התחיל לפני חמש שנים בדיוק, כשהגעתי מתוך מחקר עצמי למסקנה שניתן לגנוב עוגיות, אבל לא הצלחתי בעזרת הידע המינימלי שהיה לי אז, לנצל אותן לאחר מעשה.
הפעם אציג בקצרה קללה חדשה מאותה המשפחה, ואת הדרכים להתגונן מולה. הכוונה ל-CSRF - כלומר Cross Site Request Forgery.
גם אליה הגעתי בעצמי, כאשר הגעתי למסקנה שניתן לחזור לשרת תחת העוגיות שלי, בעזרת כמה שיטות פשוטות, וגם ללא JS פעיל ניתן לבצע פעולות בשמי בשרת. חיפוש קצר בגוגל העלה שלא חשבתי ראשון (בלשון המעטה) על הבעיה ויש לה אפילו שם מקצועי.
בעבר נתקלתי בבעיה
המימוש הוא פשוט להחריד. הרבה יותר פשוט מאשר XSS הפופולארי. נניח שיש לי דף במערכת פורומים שיודע למחוק הודעות בשם /Forum/DelMsg.aspx?id=12345. בשלב הבא אני צריך רק להיכנס לפורום, ולשים בחתימה שלי תמונה:
<img style="display: none" src="/Forum/DelMsg.aspx?id=12345">
פשוט להחריד. ברגע שמנהל הפורום יכנס לדף, אוטו' ההודעה תימחק על ידו תוך שימוש בעוגיה או ב-Session שלו. לבדוק Referer בצד שרת יהיה מעשה חסר תועלת, לאור העובדה שהדפים הגיעו מהאתר שלי בסך הכל.
גם אם אין באתר פורום או מקום דומה שמאפשר HTML עם תמונות למשל (ובעצם כל אלמנט אחר שחוזר לשרת,CSS למשל), עדיין ניתן לבצע את אותו דבר בדיוק בעזרת אתר אחר.
<script src="http://www.mysite.net/Forum/DelMsg.aspx?id=12345"></script>
ירוץ בכיף, תחת העוגיות של המנהל באתר השני, וללא ידיעתו כאשר יכנס לדף, גם אם הוא בדומיין אחר. אפשרות מכוערת יותר היא location.href או Redirect כלשהו וגם היא תעבוד מצויין. במקרה הזה דווקא Referer כן יכול לעזור.
מה עושים?
הכי פשוט - להחביא את כתובות תפריטי הניהול מכלל המשתמשים. חוסך מגולשים נטולי הרשאות לדעת את ה-URLים של ה"אוייב". עדיף גם לשבור את פורמט הקישורים שלכם באתר ולתת שם בלתי צפוי.
במידה ויש צורך לחשוף את הקישורים לגולשים, ניתן לחשוב על פיתרון יצירתי בסגנון CAPTCHA, ולוודא שהוא לא פוגע יותר מדי בחווית המשתמש של המנהל שלא יאהב הקלדה חוזרת ונשנית של מספרים או אותיות חסרות ערך על כל מחיקה מסכנה.
אפשר לנסות להשתמש ב-POST במקום ב-GET להעברת הנתונים, מה שיוכל לפתור את הבעיה חלקית (עדיין ניתן יהיה לייצר באתר אחר טופס שיעדו הוא http://www.mysite.net/Forum/DelMsg.aspx ומכיל <input type=hidden name=id value=12345> למשל, אבל אז עבודת הפיתוי תהיה קשה יותר).
אני עוד לא לגמרי סגור על דרכי התגוננות יעילים מול המפגע הזה. למעט הסתרה של ה-URL מה"אוייב" שנותנת מענה כמעט מושלם לבעיה בחלק מהמקרים, שאר האפשרויות פוגעות, בגדול בחווית המשתמש של המנהל וממררות את חייו או ממררות את חיי השרת.