Archive for the 'כללי' Category

ביטויים רגולריים (regex) בbash

בעבר חיפשתי בגוגל מידע על ביטויים רגולריים – regex בשפת התכנות bash, התוצאות הציעו הצעות מגוונות איך לעשות את זה: grep ,awk ,sed וכדו'… אבל זה עדיין לא bash.

תוצאות אחרות דיברו על אפשרות בסגנון זה:

‎[[ "$var" =~ regex ]]‎

שאומנם נתן משהו מתוך bash אך לא כ"כ הבנתי איך ניתן להשתמש בזה.

לאחרונה חיפשתי שוב, והנה הפתרון שמצאתי:

כדי להכניס טקסט לתוך ביטוי רגולרי מבצעים

[[ "regex" =~ ^re(.*)x$ ]]‎

פעולה זו כאשר הביטוי הרגולרי נמצא תחזיר true ותיצור משתנה מערך: ‎${BASH_REMATCH[*]}‎, אם הביטוי לא יימצא הפעולה תחזיר false.
במערך זה באינדקס 0 יהיה את תוצאת הביטוי הרגולרי שנמצאה ובשאר המשתנים ההתאמות הפנימיות

דוגמה:

‭[[ "testregexexample" =~ st(r.*ex)([ejg]) ]];
echo ${BASH_REMATCH[@]};

יוציא את הפלט: stregexe regex e

testregexexample – תוצאת הביטוי במלואה, נכנסת לאינדקס 0.
testregexexample – התאמה ראשונה, נכנסת לאינדקס 1.
testregexexample – התאמה שנייה, נכנסת לאינדקס 2.


ולסיום, שאלה: האם BASH לא תומך פה בצורה תקינה בקידוד ISO-8859?
בקידוד זה תוצאות שהינם בתווים עבריים (לא בדקתי תווים לא לטיניים אחרים) לא מופעל עליהם באופן תקין regex:

[[ ‎"אבגדה‎" =~ ^‎אבג‎(.*) ]] && echo "${BASH_REMATCH[@]}"

בקידוד UTF-8 מוחזר: "אבגדה דה" – כמו שצריך להיות
בקידוד ISO-8859-8 מוחזר: "אבג"

[[ "‎אבגדה‎" =~ ^א‎.*‎ה‎ ]] && echo "${BASH_REMATCH[@]}" || echo "false"

בקידוד UTF-8 מוחזר: "אבגדה" – כמו שצריך להיות
בקידוד ISO-8859-8 מוחזר: "false"

לברכה ולא לקללה

לברכה ולא לקללה

איך לא בונים אתרים או פרצת אבטחה מעניינת באתר אופיס דיפו

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

אדם שיש לי קשר איתו המשתמש באתר העסקי של אופיס דיפו http://bsdnet.officedepot.co.il התלונן בפני שאינטרנט אקספלורר (להלן IE) ופיירפוקס (להלן FF) מתנתקים ומתחברים באופן סינכרוני לאתר ומכיוון שכך הוא לא יכול להכנס לשני משתמשים באתר במקביל, דבר שהוא נהג לעשות קודם מטעמי נוחות,
שמעתי, הבעיה היתה נשמעת לי קצת מוזרה ובאתי לנסות למצוא מה הבעיה.

המחשבה הראשונה היתה,
מכיוון שיש אנשים המעוניינים בתכונה כמו זו של סינכרון חיבור של אתרים בין IE לFF יכול להיות שהכניסו את התכונה הזו לFF?
אומנם לא שמעתי על כך, אבל לא על כל התכונות של FF אני שומע לפני שהם יוצאות, בדקתי בchangelog (רשימת שינויים, תוכנות בעיקר) ולא מצאתי כל מידע על תוספת פיצ'ר בסגנון זה.
ואז חשבתי שבעצם מותקנת על אותו FF גם הרחבה בשם IE TAB שמיועדת לספק תאימות לIE אולי הוסיפו לה את הפיצ'ר הזה שמפריע לו, בדקתי וגם לזה לא מצאתי זכר.

ואז עלה במוחי המחשבה שבעצם אני ייבאתי בשבילו עוגיות מIE לא מזמן ואולי ייתכן שזה קשור לבעיה,
בדקתי את הנושא ע"י העתקת העוגיה למחשב נוסף ואכן מאז ביצוע העתקה כל החיבורים והניתוקים התבצעו בצורה סינכרונית (גם אם המחשב שבו נמצאת העוגיה ממוקם בIP שונה)

זמן "פג התוקף" של העוגיה היה בדקה האחרונה של השנה הנוצרית 2009
התוכן שלה הוא בסגנון זה:
ShopperManager%2FODONLINE=T5KRG4J3E74M8KDKHWLGW7X53B1R83C9
גם במקרה של ניתוק או התחברות לא יהיה כל שינוי בעוגיה אלא רק ברישום הנמצא על שרתי האתר של מה אומרת העוגיה (מנותק \ משתמש X מחובר)

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

חג אביב כשר ושמח

צולם בערב פסח ה'תשס"ט

ההעדפות שלי

אומנם ממני לא ביקשו, אבל גם אותי הנושא מעניין, אז הנה הפירוט:

  • הפצה: מנדריבה (66%) ודביאן (33%)
  • סביבת עבודה: KDE וopenbox עם lxpanel
  • מעבד תמלילים: אופן אופיס
  • נגן מוזיקה:Amarok וmplayer (לא גרפי)
  • נגן וידאו: vlc
  • שפת תכנות: bash
  • דוא"ל: Gmail
  • דפדפן: פיירפוקס
  • חלוקה למחיצות: Gparted

צימצמתי את הרשימה לדברים שנראה לי יותר נוגעים אלי.

פרצת אבטחה באתר התאוריה

אם היה מתקשר אליכם דקות לאחר שנרשמתם למבחן תאוריה אדם שיודע שנרשמתם, את מספר תעודת הזהות שבו נרשמתם והזמן והמקום אליו נרשמתם, הייתם מפקפקים בכך שהוא ממשרד הרישוי\תחבורה?

מבחני התאוריה ללימוד נהיגה בישראל מתנהלים ע"י חברות טלדור ומנפוואר, להם יש אתר שבו נרשמים לתור למבחן תאוריה.
לאחר ההרשמה התקבל למייל שנרשמים ממנו קישור לכתובת כגון זו:
https://teory.co.il/printme.asp?id=62139
בכתובת זו היה את פרטי ההרשמה להדפסה בשביל להציג במקום שבו נבחנים.

הבעיה היא שהמספר שנמצא בכתובת הוא מספר סידורי בלי שום הגנה נוספת.
כלומר, היה ניתן לעבור לפרטים של מי שנרשם אחריך פשוט ע"י כניסה לכתובת עם מספר עוקב (https://teory.co.il/printme.asp?id=62140) וכן הלאה.

דוגמאות לפרטים שנחשפו:הדגמת הפרצההדגמת הפרצההדגמת הפרצה

עלי לציין לשבח את חברת אפריקום (מפתחי האתר) על תיקון מהיר מאוד של התקלה לאחר הדיווח.

האם חוק הספאם אוסר על פרסום באתרי אינטרנט?

מתוך החוק:

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

""הודעה אלקטרונית" – מסר בזק מקודד המועבר ברשת האינטרנט אל נמען או קבוצה של נמענים, וניתן לשמירה ולאחזור בדרך ממוחשבת"

האם הפרסומות באתרי האינטרנט לא מקיימות את התנאים הללו?

ועכשיו לתנאים שמאפשרים פרסום:

"(ג) על אף הוראות סעיף קטן (ב), רשאי מפרסם לשגר דבר פרסומת כאמור באותו סעיף קטן אף אם לא התקבלה הסכמת הנמען, בהתקיים כל אלה:

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

פסקה 1 מתקיימת לפעמים אך פסקאות 2 ו3 לא מתקיימות בשום אתר או כמעט בשום אתר.

מה דעתכם?

*אני לא עו"ד ולא מתיימר להיות עו"ד אבל זה עדיין מעניין אותי