Cyber & Code
Photo
click to show
click to show
שאלתם בתגובות איך ההודעה הסודית עובדת, ואם אפשר להקליד את התווים האלה. אז הנה הפירוק המלא.
━━━━━━━━━━━━
1. למחשב אין אותיות
יש לו רק מספרים. האות "א" היא 1488, האות "A" היא 65. ה-Unicode היא טבלה ענקית של יותר מ-150 אלף תווים כאלה.
רובם אותיות וסימנים. חלק קטן בכלל לא מצויר על המסך. הם הוראות לתוכנה שמציירת את הטקסט.
2. התווים השקופים לא הומצאו בשביל האקרים
התו ZWJ (U+200D) מדביק תווים. ככה 👨 ו-💻 הופכים ל-👨💻. האימוג'י הזה הוא בעצם שלושה תווים, והאמצעי שקוף.
התו ZWNJ (U+200C) עושה את ההפך ומונע חיבור בין אותיות בפרסית.
הם חלק משפות אמיתיות ומאימוג'י, אז אפליקציות לא יכולות פשוט למחוק אותם. בגלל זה הטריק עובד.
3. ככה ההודעה נכנסת לטקסט
לוקחים את הסוד והופכים אותו לבייטים. כל בייט הוא 8 ביטים. כל 0 הופך ל-ZWNJ, וכל 1 הופך ל-ZWJ.
האות A היא 01000001, כלומר שמונה תווים שקופים.
אות עברית תופסת שני בייטים, אז 16 תווים. ההודעה מהפוסט הקודם הייתה 45 בייטים, ולכן 360 תווים בלתי נראים. בדיוק המספר שהכלי הראה לכם.
4. אפשר להקליד אותם?
כן, בלי שום כלי:
ב-Word: מקלידים 200D ולוחצים Alt+X
ב-Linux: לוחצים Ctrl+Shift+U, מקלידים 200d ולוחצים Enter
ב-Mac: מוסיפים את המקלדת Unicode Hex Input, מחזיקים Option ומקלידים 200D
בקוד: "\u200d", ובאתר: ‍
ב-200C מקבלים את ה-0. ככה, תו אחרי תו, אפשר לכתוב הודעה סודית ביד. בטלפון אין דרך נוחה, שם מעתיקים מהכלי.
5. למה זה מעניין מבחינת אבטחה
שני שמות משתמש יכולים להיראות זהים לגמרי, כש-admin אחד מסתיר תו שקוף בפנים. בקוד, שורה אחת מנקה הכול:
re.sub(r"[\u200b-\u200f\u2060\ufeff]", "", text)
רק שימו לב: היא גם מפרקת את 👨💻 לשני אימוג'י נפרדים.
━━━━━━━━━━━━
האתגר
גם בפוסט הזה מוחבאת הודעה. הפעם מפענחים בלי הכלי: בהודעה הבאה יש סקריפט Python קטן, בלי שום התקנה.
1. העתיקו את הפוסט
2. הריצו python zw.py reveal. הסקריפט קורא ישר מהלוח
3. כתבו בתגובות מה מצאתם
בונוס לסקרנים: python zw.py explain ש מראה צעד אחר צעד איך אות אחת הופכת לשקופה.
ועל איזה נושא בא לכם את הפירוק הבא? כתבו בתגובות.
למטרות לימוד והגנה.
🏴 הצטרפו לערוץ: @CyberSecurityCoding
💬 דיונים וקהילה: @CyberSecuritycodingchat
1 · 101 ·