Logo

רד-בורד: ארכיון

ראשי > אבטחת מידע > חור אבטחה רציני התגלה בASP.NET של מיקרוסופט.

05/10/2004 18:37:31 cp77fk4r
לידיעה בK-Otik:
http://www.k-otik.com/news/10052004.ASPNETFlaw.php.

הידיעה (והאתר בכלל) הצרפתית, אז אני אכתוב במה מדובר:

התגלה חור אבטחה באפלקציות Asp.Net (של מייקרוסופט) תחת Win 2000 ו Xp, שמאפשר גישה גם לקבצים שלמשתמש רגיל לא הייתה גישה אליהם.

ע"י שינוי התו באק-סלאש ("\")לסימון שלו (%5C), אפשר לגשת לכל תיקיה שנמצאת בשרת, כולל תיקיות מוגנות.

איך זה?
הקטע שמאפשר או לא מאפשר גישה לתיקיה מסויימת באפלקציה בודק את הכתובת שהוכנס אליו, ומחלק אותו לקטעים, הוא בודק אם המשתמש מנסה לגשת לתיקיה מסויימת
(ע"י בדיקה אם קיימים באק-סלאשים ("\") בURL) ואחרי התו הוא בודק את המקטע הבא- אם המילה קיימת כתיקיה על השרת.
המקטע הבא אחראי על הגישה- במקרה והתיקיה קיימת- הוא בודק אם למשתמש יש גישה לתיקיה, ואם לא- שולח לו הודעת ארור 401...

שימו לב שהבדיקה מתבצעת רק אם קיימים הבאק-סלאשים ("/") בכתובת, אבל הבדיקה לא תתקיים אם במקום הבאק-סלאשים נכתוב "%5C" (הסימן של הבאק-סלאש..), ככה שאם למשל נכניס את הכתובת: www.site.com/passwords (כמובן, רק בAsp.net) נקבל הודעת שגיאה 401, אבל אם נכתוב: www.site.com%5Cpassword כן תיקיה לנו גישה.

מה שנשאר לעשות זה לחכות לעידכון של מיקרוסופט, או פשוט לערוך את הבדיקה בAsp.net ל:

קוד:
HttpContext context = ((HttpApplication)sender). Context ;

if (context ! = null)

{
HttpRequest request = context. Request ;

string path = request.Path.ToUpper () ;

if (path. IndexOf("\ \") > -1 || path.IndexOf("%5c") > -1)

{

path = path. Replace("\ \", "/").Replace("%5C", "/") ;

context. RewritePath (path) ;

}

}



הכתבה בצרפתית נכתבה ע"י Cellule-Veille, וחלקים ממנה תורגמו לעברית ע"י cp77fk4r.

תהנו.




[ההודעה נערכה על-ידי cp77fk4r ב-05/10/2004 18:39:23]
06/10/2004 02:00:06 -Hawk-
חחחחחח ישר כח סיפי
תרגמת את זה מצרפתית?
תודה רבה לך!
וטוב לדעת את מה שכתוב פה
למרות שחלק גדול מפה יותר מדי גבוה בשבילי

HAWK, שוב תודה
06/10/2004 02:11:14 cp77fk4r
תרגמתי חלקית, כאילו.. את החלקים המעניינים (בצרפתית הם יכולים לכתוב לך שורה שלמה רק בשביל להגיד "אני מסכים"... ככה זה), אל תדאג, לא פספסת משהו חשוב, את הנקודה הסברתי.
06/10/2004 14:12:28 nickless
בעע בדיק כשהתחלתי ASP?
06/10/2004 14:44:54 cp77fk4r
אחי, ASP.NET זה לא רק גירסא חדשה של השפת צד שרת ASP, הASP.NET נפרסת לך לעוד הרבה מאוד תחומים בנושא הפיתוח אתרים.

אל תתן לזה לא יפריע לך ללמוד ASP...
עמודים: 1