BinaryVision

בזק: שלום!

מאת PHANTOm בתאריך 04/02/10, תחת כללי

צ'או בזק. עכשיו נתן סיכוי לתשתית של HOT, לא שאני עובר ל- HOT מתוך בחירה, ברור שזה הרע במיעוטו ושחסרה תחרות בתחום תשתית האינטרנט בארץ. אולי יום יבוא וסלקום / אורנג' / חברת חשמל יעשו קצת תחרות. בכל מקרה, רציתי לכתוב קצת על החיים שאחרי המעבר. בעיקר, איך שורדים עם טלפון שמחובר ל- Skype ומה הבעיות שזה עושה.

(המשך לקרוא…)

השאר תגובה :, , , , , עוד...

אבטחה נמצאת בפרטים הקטנים

מאת TAsn בתאריך 31/01/10, תחת כללי

הפוסט של היום לא עוסק בהקשחת שרת או בתכנות נכון והגנתי, אלא בדבר חשוב יותר משניהם, תכנון.
נתקלתי לאחרונה ב"פרצה" די מבדרת. הפרצה אומנם לא מאפשרת לי להשתלט על שרת, או אפילו לפגוע במשתמשים, אבל היא בהחלט מאפשרת גישה לדבר ששווה כסף, או לפחות יכול להיות מעצבן: כתובות אימייל של קבוצה ממוקדת נושא, במקרה הזה, אנשי טכנולוגיה.
למי שלא מכיר, האתר sourceforge הוא האתר הכי גדול (או לפחות אחד מההכי גדולים) לפרוייקטים קוד פתוח. באתר יש כ 2 מיליון משתמשים רשומים וכ 230,000 פרוייקטים. בנוסף, ישנם Mailing lists לכל הפרוייקטים, ובזה נתמקד.

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

נתבונן רגע לעומק במעמקי ה"קוד" של העמוד, נתבונן לדוגמה בלינק שנתתי קודם מארכיון המיילים של Firebird: נבחר את המייל השלישי, זה נשלח ע"י "Adriano dos Santos Fernandes <adrianosf@gm…>". אנחנו רואים שהכתובת שלו מתחילה ב gm, (הערה: כולם משתמשים כיום ב gmail ככה שלא קשה לנחש שהכתובת האמיתית שלו היא gmail.com, למרות שהיא לא הייתה חייבת להיות, וזה יעבוד כמובן גם על כתובות של שרתי מייל שאנחנו לא מכירים) אבל אם נסתכל לעומק בלינק שמקשר לפוסט (בעמודה topic), נראה שם משהו מעניין, לדוגמה, במקרה שלנו, הלינק הוא:
http://sourceforge.net/mailarchive/forum.php?thread_name=4B65B1DC.5020407%40gmail.com&forum_name=firebird-devel
הפלא ופלא, השדה thread_name מסתיים ב gmail.com, מכך נסיק ששרת המייל ששלח את המייל הוא gmail.com ולכן הכתובת היא adrianosf ~-at-~ gmail.com.
נסתכל בשורה הבאה, מייל מאת Alexander Peshkoff <peshkoff@ma…>, אם נסתכל בלינק בעמודה topic, (לינק: http://sourceforge.net/mailarchive/forum.php?thread_name=201001311914.57707.peshkoff%40mail.ru&forum_name=firebird-devel) נראה שאותו שדה מסתיים הפעם ב @mail.ru, והרי זה לא מפתיע שזה מתאים לאימייל שלו שמתחיל ב: peshkoff@ma ולכן האימייל המלא שלו הוא peskoff ~-at-~ mail.ru.

החדים מביניכם בטח שמו לב שבמקרה השני, הלינק הכיל את כל הכתובת, ובמקרה הראשון לא. זה מתחבר לממה שאמרתי קודם, השדה הזה לא עקבי מספיק, (או לפחות לא מצאתי את החוקיות), ולכן זה לא עובד ב 100% מהמקרים, אבל ברוב המקרים שבדקתי, השדה הזה אכן מסתיים בשרת האיימייל ששלח את המייל, גם אם זה לא בהכרח השרת שיקבל את המיילים, זה בהחלט יכול לעזור. לדוגמה, לפעמים ב gmail הסיומת של השדה הזה תיהיה mail.google.com, אמנם אי אפשר לשלוח מייל ל adrianosf@mail.google.com (מהדוגמה הקודמת), אבל אפשר בהחלט לתרגם את זה בצורה קלה (הרי אם זה נפוץ מספיק אז אפשר לתרגם ידנית ובקלות להחליף את כל השדות).
זה גם מאוד פשוט לגנוב את המיילים האלה, לדוגמה, השורה הפשוטה הבאה שמתמשת ב wget וב sed (אמנם לא הכי נקי שאפשר, אבל החלט עושה את העבודה):

wget -q -O - http://sourceforge.net/mailarchive/forum.php?forum_name=firebird-devel | sed -n -e 's/^.*<td width="50%"><a href="[^&]*%40\([^&]*\)[^"]*".*$/@\1/p' -e s'/^.*&lt;\([^&]*\)...&gt;.*/\1/p'

לוקחת עמוד ומחלצת ממנו את כל השרתים בשורה אחת (מתחילים ב @), ואת המייל (עד הקטע המצונזר) בשורה אחריה. להוסיף את התוצאות לdb פשוט (לדוגמה sqlite), ולכתוב סקריפט פרל קצר שיעבור בכל העמודים של כל ה ML ב sourceforge ויריץ עליהם את הסינון sed הזה, גם לא לוקח הרבה זמן. בקיצור, אנחנו יכולים, בקלות יחסית (עדיין צריך לזכור לא להציף את sourceforge ולהשתמש בפרוקסי\בוטנט) לקחת את כתובות האימייל של 2 מיליון אנשים טכנלוגיים (אולי יותר אולי פחות) ולהשתמש בהם בפרסום ממוקד באינטרנט.

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

תגובה אחת :, , , עוד...

סקר: עד כמה הראוטר שלכם מעפן ?

מאת spdr בתאריך 29/01/10, תחת כללי

מבדיקה שעשיתי מסתבר שלהרבה מאוד ראוטרים אפשר להזריק קוד HTML באמצעות פרמטר ה HOSTNAME שמתקבל באמצעות פרוטוקול ה DHCP בזמן ההתחברות לנתב. ואם יש לנתב ממשק ווב שנותן לצפות ב DHCP TABLE או סתם מציג את ה HOSTNAME של המחשבים בכל דף אחר, אפשר לגרום בעצם ל XSS, ואולי אפילו להשיג ZONE פחות מאובטח בגרסאות ישנות של אינטרנט אקספלורר. אני בטח לא הראשון שחשב על זה אבל מהבדיקות שעשיתי 4 מתוך 4 ראוטרים היו פגיעים.

דוגמא לניצול בראוטר של סימנס:

בינתיים הראוטרים שבדקתי היו:


2Wire

D-link

SIEMENS ADSL SL2-141

ובדיקה ידנית מול - Level one WBR 3408 11g

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

אפשרות שניה היא לעשות את הבדיקה בצורה ידנית, דבר פשוט בלינוקס:


ifconfig eth0 hw ether 00

hostname "htmlcodehere" # Replace with real code

dhclient

השורה הראשונה תשנה את כתובת ה MAC של הכרטיס רשת, השורה השניה תשנה את ה HOSTNAME וצריך להכניס בין הגרשיים קוד HTML כלשהוא עד 64 תווים. השורה השלישית והאחרונה בעצם תבקש כתובת IP מהשרת DHCP עבור ה mac החדש מה שיגרום לרשומה חדשה ב DHCP TABLE.

את הסקריפט שכתוב בפרל אפשר להעתיק מכאן

הסקריפט מקבל 2 פרמטרים, הראשון הוא האיפי של הראוטר והשני זה קוד HTML שיכול להיות עד 63 תווים, אז תיהיו יצירתיים :) . תדאגו גם לעטוף את הקוד HTML שאתם רוצים לנסות להזריק בגרשיים כדי שהטרמינל שלכם לא יחשוב שאלו פקודות BASH.

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

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

התוצאות יתפרסמו בצורה מסודרת, כשיהיו מספיק תוצאות :)

6 תגובות עוד...

המלצה על מוצר Firewall בייתי

מאת PHANTOm בתאריך 20/01/10, תחת כללי

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

PC Tools Firewall Plus 6.0.0.88 ו- Comodo Internet Security 3.13, שניהם מוצרים חינמיים אז אין בעיה להוריד ולבדוק. Online Armor Premium קיבל ציון 99% אבל הוא לא נתמך ב64 ביט, אז אין לי מה לבדוק אותו.

התחלתי מ PC Tools, הלוגו הזכיר לי מאיפה אני מכיר את החברה: הם עשו קופה בזמנו עם מוצרי ה Anti-Spyware, ותיקוני ה- Registry. אחרי שהתקנתי את המוצר הוא שאל אותי אם אני סומך על Google Talk ו mIRC, הסיבה שהוא התפל דווקא עליהם היא שהתוכנות לא חתומות, שזה סבבה כל עוד מי שרוצה לפרוץ אליך לא מוכן לבזבז 1000 דולר על חתימה. ניסיתי להריץ netcat ועוד כמה תוכנות אינטרנט לא חתומות, ולהפתעתי זה עבד. מוזר, אין שום שאלות מהתוכנה. ניסיתי להריץ shell של vnc connect back, גם עובד. מדאיג.

או קיי, אז אולי הוא ברמה של Windows Firewall חשבתי לעצמי, הוא בטח יקפוץ אם התוכנה תעשה listen ל 0.0.0.0, אבל מסתבר שממש לא. בניתי קוד חדש לבדיקה, לא חתום ולא כלום, דחפתי אותו בכוונה ל Startup ב Registry רק כדי לראות אולי PC Tools יבין את הרמז, אבל הרמז לא נקלט. כנראה שאני קורא את התוצאות הפוך, בטח באתר התכוונו ל- "100%" פריץ.

טוב, נמשיך עם Comodo, גם הוא קיבל ציון 100, וגם הוא חינמי.

ההתקנה שלו די גדולה, ומתחילה מ WinZip SFX, משהו שלא ראיתי משנת 1999 אז כשהסרט מאטריקס הראשון יצא. אחרי זה ההתקנה רצתה לדחוף לי 3 toolbars, ורצתה להחליף לי שרתי DNS.

אחרי ההתקנה, comodo התחיל לשאול שאלות, רובן מפגרות, כמו האם מותר לגעת לתהליך מערכת בג'יסטרי, בלי להגיד לי מה התהליך או מה ברג'יסטרי. אחרי משהו כמו 50 שאלות מתוכן 48 שבאמת לא היה צריך לשאול, הוא התחיל לעבוד. הוא בהחלט שם לב ל- VNC ולקוד שבניתי.

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

לא יצא לי לבדוק שיטות מתקדמות על ה Firewall עדיין, אני אעדכן את הטקסט כשיצא לי. ראיתי גם עוד שמות של תוכנות מוכרות כמו Outpost ו Kaspersky שהיו לי בעבר, נכון לעכשיו ההמלצה שלי למי שמחפש משהו שייתן רמה סבירה של הגנה – שילך על Comodo.

10 תגובות :, , עוד...

לרמות בבדיקות מהירות

מאת PHANTOm בתאריך 09/11/09, תחת כללי

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

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

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

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

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

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

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

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

הכול טוב ויפה, אבל מה אם תבוא איזה ספקית בלי כל הבולשיט הזה ותגנוב את הלקוחות? אין סיכוי, וחוץ מזה – הלקוחות טיפשים. מי כבר יכול לעשות כזה דבר במצב של היום? 018 על התשתית של בזק בינלאומי המיובשת בגלל רשת פרמיום ל- NGN שהיא מנסה מקדמת, ואורנג'? נתן להם עוד כמה חודשים גג.

לסיכום: כך תחסכו על גבם של הפראיירים שמחוברים אצלכם ותשקיעו את הכסף במה שחשוב באמת, חופשות סקי ובתים בסביון.

נ.ב.

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

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

תוספת קטנה מפי D:

נמאס לכם מזה ?

עכשיו אפשר לנקום ! זה כנראה לא ישפר לכם את האינטרנט אבל הספקיות מאוד לא אוהבות שמשתמשים להם בהרבה רוחב פס לחו"ל.
עכשיו יש תוכנה שעושה בדיוק את זה ! התוכנה תנצל 100% אחוז מרוחב הפס שלכם. וכרגע הפסקיות לא חוסמות אותה.
התוכנה חסרת ממשק. מיד עם הרצתה יפתח חלון עם טקסט חסר משמעות.
שימו לב התוכנה כרגע בגרסא 0.02.
לינק להורדה: http://web.nix.co.il/download/downloader.rar (מי שלא מצליח להוריד על 600 או על המהירות המלאה שלו כנראה שלא יודע שדופקים אותו).

20 תגובות :, , , , עוד...

משהו חדש ללמוד

מאת PHANTOm בתאריך 08/11/09, תחת כללי

כולם פה אני מניח יודעים שפה או שתיים, אולי PHP אולי #C, אולי Python, Perl, Visual Basic. אבל למי מייתנו שילך ללמוד באקדמיה (אמיתית או מכללה) יגיע יום ויצתרך להתמודד עם ++C. יש הרבה מדריכים על השפה עצמה (יותר מידי), אבל מניסיון, הכי מהר ללמוד משהו כשמתמודדים עם פרוייקט אמיתי ביום יום. בגלל שקשה לי להאמין שמישהו צריך תוכנת קונסול שתעשה חשבון פשוט, אני ממליץ על להתחיל עם Qt.

mirccr_win7למה?

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

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

לי היה הרבה יותר קל לחזור ל ++C אחרי שהיה לי את התרגול של Qt ובניתי פרוייקט שאני אפרסם כאן בקרוב.

היה לי מאוד קל לעצב UI שנראה לא רע בכלל, ככה, למשל, נראה העורך:

mirrcr qt editor

מי שזה מעניין אותו מוזמן להוריד את כל הכלים באתר qt.nokia.com וגם מוזמן לצפות שם במאות סרטוני ההדרכה (והפרופוגנדה).

3 תגובות :, , , , , , עוד...

WDTV HD Media Player

מאת Fate בתאריך 18/09/09, תחת כללי

מבוא

WDTV ליד כונן 2.5 אינצ'

WDTV ליד כונן 2.5 אינצ'

לאחרונה אולי שמתם לב, אולי לא, אני נמשך יותר לחומרה והאקינג שלה.
בין אם זה OpenMoko, או הנתב של Edimax, או במקרה הזה נגן המדיה של Western Digital.
כן כן, של Western Digital, יצרנית כוננים קשיחים…

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

אפשרויות חומרה

  • מחשב HTPC שאני מרכיב בעצמי

אפשר להרכיב מחשב במארז קטן שנראה כמו מארז של מכשיר Media Center כזה, ולהרכיב אותו ככה שיוכל לנגן HD.
מבדיקה שאני עשיתי מחשב כזה עולה בסביבות ה1600-2000 שקל מינימום, והוא עם מאווררים על המארז, ולא בטוח עד כמה הוא מסוגל לנגן HD מלא באמת.

  • XBox 360

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

  • PS3

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

  • WDTV HD Media Player

כשראיתי את הדבר הזה לא האמנתי שהוא מנגן HD, אבל מסתבר שהוא כן.
הוא ממש קטן, ללא מאוורר, מעוצב בצורה טובה, וממלא את המטרה היחידה שלו בחיים, לנגן HD מתוך USB Mass Storage Device.
הדבר הזה פותח עולמות חדשים, עולם של להביא את הנגן שלך לחברים שלך יחד עם סרטים.
אתה לא תסחב עם מחשב או XBox או PS3, אבל את הדבר הזה יותר פשוט לקחת מכונן קשיח חיצוני 3.5 אינצ', הוא יותר קטן ממנו.

למה WDTV

WDTV

WDTV


הוא זול, 650 ש"ח ויש לך את הדבר הזה מוכן ומזומן להריץ לשדר דברים מעל HDMI.
יש לו יציאת Composite למקרה ולמישהו אין HDMI.
יש לו יציאה אופטית לAudio, מה שפותח את האפשרויות של קולנוע ביתי.
הוא מריץ לינוקס, על מעבד שעובד על MIPS.

עולם האפשרויות

הפעם אני לא הראשון שעושה לזה האקינג, וכל העולם כבר כותב לזה Modים וFirmware משודרג.
אפשר למצוא הרבה מאד דברים כאן: http://www.wdtvforum.com
עכשיו שאמרנו שזה מריץ לינוקס בואו נעבור על כמה רעיונות שאפשר לעשות איתו.

  • לחבר כרטיס רשת לUSB

ניגון מכונן רישתי, סטרימינג מהמחשב, הורדת דברים ישירות אליו, Youtube, Trailers, Bittorrent, וכו'

  • לחבר כרטיס רשת אלחוטי

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

  • לחבר USB Hub

ואז 2 הפורטים המסכנים יהפכו להרבה יותר, והרבה יותר מקום לחבר אליו אחסון.

  • מקלדת עכבר וDebian

מי שלא יודע יש Debian על כל חבילותיו לMIPSEL, אז אפשר כנראה להתקין את זה עליו ופשוט יש לך מחשב חזק עם לינוקס שמסוגל לנגן HD.
תחבר אליו מקלדת אלחוטית, עכבר אלחוטי, ויש לך מחשב סלוני עם מסך ענק. :)

לסיום

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

14 תגובות :, , , , עוד...

Hexodus v0.4

מאת Exodus בתאריך 26/08/09, תחת כללי

מהו Hexodus:
הקסודוס הוא פרוייקט יחסית ישן שנכתב לפני כשנה וחצי וזהו בעצם Hex Editor
שנכתב בשפת פרל ותוכנן בשלבים מתקדמים יותר להפוך ל-Disassmebler עם תמיכה
בקבצי ELF אך קיום קיימת רק תמיכה לקבצי PE(מבחינת ההדר של הקובץ)
עם זאת הקסודוס נכתב בצורה שקל להוסיף לו פונקציונליות מכוון שכל פקודה ב-shell היא בעצם
פונקציה אשר נקראת ע"י הפונקציה הראשית(main()) .

פונקציונאליות:

טעינת קובץ:

C:\Code\perl\Hexodus-v0.4>Hexodus-v0.4.pl demo.exe
>Loading the file demo.exe
<

קבלת מידע אודות פקודות:

help<

Hexodus v0.4, type 'help <command>' for command specifications

list            help            reload          exit            exec
edit            load            undo            clear           find
save            info            redo            converto        history
<

הדגמת פקודות ליסטינג, עריכה וחיפוש:

>list CBD0 48
0000CBD0:   43 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00   C…….☺…….
0000CBE0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   …………….
0000CBF0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   …………….
0000CC00:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   …………….
>edit CBD0 CD 21
> bytes C  replaced with ═!
>list CBD0 48
0000CBD0:   CD 21 00 00 00 00 00 00 01 00 00 00 00 00 00 00   ═!……☺…….
0000CBE0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   …………….
0000CBF0:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   …………….
0000CC00:   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   …………….
>find CD 21
00000047:   CD 21 B8 01 4C CD 21 54 68 69 73 20 70 72 6F 67   ═!╕☺L═!This prog

0000004C:   CD 21 54 68 69 73 20 70 72 6F 67 72 61 6D 20 63   ═!This program c

0000CBD0:   CD 21 00 00 00 00 00 00 01 00 00 00 00 00 00 00

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

  • לשכתב אותו כ- Object Oriented
  • להוסיף אופציה להפעלה עם ממשק גרפי Tk
  • להוסיף תמיכה להדר של ELF

בכל אופן עד אז את קוד המקור של הקסודוס ניתן להוריד מכאן: http://www.blackhat.org.il/Hexodus-v0.4.zip

6 תגובות :, , , , עוד...

פרצה חדשה בWordPress

מאת Fate בתאריך 11/08/09, תחת כללי

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

http://milw0rm.org/exploits/9410

הלוגיקה מאחורי זה:

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

הבעיה היא בשלב של האישור, ובו ניתן לאשר את קבלת הדואר,
ללא המפתח ע"י פרמטר key לא תקין (מערך במקום מחרוזת).

מה שקורה במצב הזה, אם מדלגים על השלב של "שכחתי את הסיסמה".
אז בכלל לא נוצר user_activation_key, והוא ישאר ריק אם אף פעם המנהל לא שכח סיסמה.
לכן, אם מעבירים ב key מערך ריק, אז החלק שאחראי לבדוק את נכונות ה user_activation_key:


$user = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->users WHERE user_activation_key = %s", $key));
    if ( empty( $user ) )
        return new WP_Error('invalid_key', __('Invalid key'));

יחזיר (בצדק) שהוא נכון, כי כאמור השדה ריק (wpdb->prepare מתעלם מאיברים מיותרים בFormat String).
הוא יתאים את המשתמש הראשון שיש לו user_activation_key ריק, ויאפס לו את הסיסמה.
(המשתמש יגלה את זה כאשר ישלח לו דואר עם הסיסמה החדשה).
ברוב המקרים זה המנהל, במקרים אחרים איזה משתמש מסכן אחר.

התיקון שהוספתי לקוד (בקובץ wp-login.php):


function reset_password($key) {
	global $wpdb;

	if (!is_string($key)) {
		return new WP_Error('invalid_key', __('Invalid key'));
	}

אתם מוזמנים להשתמש בזה עד שיצא תיקון רישמי.
שאלות? הערות? תשאירו תגובה…

עדכון:

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

למה מתייחסים לSQL שונה?!

מאת TAsn בתאריך 14/07/09, תחת כללי

הקדמה
קיימים הרבה מאוד סוגים של פרצות אבטחה, לדוגמא XSS, אני יכול להבין למה XSS קורה, הרי לפעמים יש מקרי קצה שבהם רוצים לתת למתכנת יכול לכתוב html, או לחלופין, קשה לבקר (לא באמת, אבל נניח) כל כתיבה שאנחנו מבצעים ולכן אפשר לפספס ובטעות לכתוב מחרוזת ששכחנו לעשות לה escaping.
אותו דבר אני יכול להגיד על buffer overflow (גם לא באמת, אבל נניח) וישנן עוד הרבה פרצות שעליהן אפשר להגיד אותו דבר (לפעמים המצב עגום יותר ולפעמים פחות).
אבל במקרה של sql injection אני פשוט לא מבין איך זה עדיין קיים. אבל לא על זה מדובר בכתבה, אלא על הבעיתיות והקלת הראש שאנשים מייחסים לשרת sql שלהם.

תיאור הבעיה הנפוצה
כידוע Sql injection קורה כאשר המשתמש מצליח להשפיע על המחרוזת המכילה את השאילתא שאנחנו מריצים על ה db כך שהשאילתא תבצע פעולה שלא רצינו שתקרה.
אוקיי, זו פרצה נחמדה, טריק מגניב, רעיון יפה, אבל למה זה עדיין קורה? הרי יש שתי פתרונות מאוד פשוטים למניעת הבעיה!

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

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

אז איך זה שאנשים עדיין לא עושים את זה? מעבר לבינתי.

הבעיה האמיתית ופתרון בשבילה
הפתרונות שהצגתי כמובן נפוצים ומשתמשים בהם בכל מיני מקומות, והם הדרך לטיפול בבעיה, אבל לא מעט פעמים נתקלים בכל זאת בפרצות. אבל זה בהחלט לא מספיק!
הבעיה האמיתית היא, איך בכלל הגענו למצב שבו כל מה שאנחנו צריכים זה לקרוא מידע מ"טבלאת הידיעות של האתר" ובכל זאת יש לנו הרשאות כתיבה\קריאה ל\מטבלאת המשתמשים?
כל איש אבטחה יודע שהדבר הראשון שעושים זה "הפרדת סמכויות" כי בסופו של דבר, לא משנה כמה ה firewall שלך חוסם כל תעבורה וכל התוכנות שאתה משתמש בהן לא פגיעות, אם ל guest account שלך יש הרשאות root, יהיה לך גהנום בשרת :)
בכל שרת sql בתחום יש שמות משתמש וססמאות, יתרה מכך, לכל שרת יש תמיכה באפשרויות הגבלת גישה מתקדמות.
אז למה אנשים לא משתמשים ב user אחד בשביל לקרוא\לכתוב מהטבלאת משתמשים, ביוזר אחר בשביל לקרוא מידע וביוזר אחרון בשביל לכתוב מידע? (כאשר מידע = הכל חוץ מטבלאות משתמשים) או אפילו אם צריך לפצל את זה עוד יותר (לדוגמא מידע אישי רגיש יהיה מפוצל מהבלוג של האתר).

ההנחה שלי היא: עצלנות.

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

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

הערה חשובה:
אני יודע שלא תמיד יש לכם גישה ליצירת גישות (לדוגמא שרת חינמי) אבל כל עוד אתם משלמים על השרת, זכותכם לדרוש כמה יוזרים שתרצו! ככה שזה לא תירוץ!!!

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

23 תגובות :, , , , עוד...

מחפש משהו?

תשתמש בטופס למטה כדי לחפש באתר: