כניסה לפורומים: http://forums.hacking.org.il



fromCharCode(88,83,83)

נכתב ע"י גיא מזרחי בתאריך 31 בינואר 2008 | נושאים מאמרים מקוריים | 18 תגובות »

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

fromCharCode היא פונקצית  JavaScript.

הפונקציה נועדה כדי להפוך (לתרגם) ערכי Unicode ל-string.

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

הסינטקס של הפונקציה הזו הוא תמיד

String.fromCharCode()

בתוך הסוגריים יופיעו מספרים שיומרו לתווים.

ניתן להשתמש בטבלת ההמרה המופיעה בקישור למעלה ולהבין מה הם 88,83,83.

כיוון שטבלת ASCII מתרגמת 88 ל-X ו-83 ל-S, הצירוף הנ"ל יתורגם ל-XSS.

String.fromCharCode(88,83,83)

שימוש ב-XSS:

הרבה פעמים יש לנו אפשרות למצוא XSS אך הגרשיים " " מסוננים.

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

אם בד"כ המחרוזת שלנו היא:

<script>alert("XSS");</script>

במקרה הנ"ל חלון ה-alert לא יעבוד.

פתרון אפשרי:

<script>alert(String.fromCharCode(88,83,83));</script>

כך איננו משתמשים בתווים האסורים ובכל זאת תקפוץ הודעת XSS.

 




18 תגובות לקטע “fromCharCode(88,83,83)”

  1. גלעד-flint ISRAEL Ubuntu Linux Mozilla Firefox 2.0.0.11 כתב\ה:

    יאיי! איזה תותח.

  2. גלעד-flint ISRAEL Ubuntu Linux Mozilla Firefox 2.0.0.11 כתב\ה:

    שאלה כללית שקשורה לנושא-מה בקשר לעברית??

  3. L[s]D ISRAEL Windows XP Mozilla Firefox 2.0.0.11 כתב\ה:

    עוד דרך לעקוף חסימת גרשיים היא לייבא קובץ JS חיצוני..

  4. zEt0s- ISRAEL Windows XP Mozilla Firefox 2.0.0.11 כתב\ה:

    אני בטוח שגוגל היה מניב לו את התשובה לשאלה הפשוטה הזו, ואני לא יודע אם זה שווה פתיחת אשכול (כבר 3 אשכולות היום גיא, שיא חדש :) אבל מה שבא לך..
    ד"א L[s]D אחלה רעיון =]

  5. eran ISRAEL Windows XP Internet Explorer 7.0 כתב\ה:

    עושה רושם שהתלהבת מהדרך xss הא??
    … לא הבנתי לשם מה הפוסט…. כל שימוש בפונקציה של JS יתבצע אחרי ההוראה
    ….

  6. גיא מזרחי ISRAEL Windows XP Mozilla Firefox 2.0.0.11 כתב\ה:

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

  7. VB Man ISRAEL Ubuntu Linux Mozilla Firefox 2.0.0.11 כתב\ה:

    יפה…

  8. גלעד-flint ISRAEL Ubuntu Linux Mozilla Firefox 2.0.0.11 כתב\ה:

    איפה אפשר למצוא אסקי בעברית? גגיגלתי ולא מצאתי כמעט הזכרים לזה.

  9. dar32 ISRAEL Ubuntu Linux Mozilla Firefox 2.0.0.11 כתב\ה:

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

  10. חסוי ISRAEL Windows XP Internet Explorer 7.0 כתב\ה:

    גיא-ברור שכמעט לכל שאלה יש פתרום בגוגל, אבל זה דבר שכיח בגוגל…
    בקשר למה שגלעד שאל:
    (ויקי):
    הקוד אינו כולל אותיות עבריות. בעבר הותאם הקוד לעברית (קוד ישן) – 27 תווים (כולל אותיות סופיות) תפסו את מקום האותיות הלטיניות הקטנות.

  11. גיא מזרחי ISRAEL Windows XP Mozilla Firefox 2.0.0.11 כתב\ה:

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

  12. נחום הספאמר ISRAEL Windows XP Mozilla Firefox 2.0.0.11 כתב\ה:

    בעולם המחשבים אין כזה דבר אי אפשר
    alert(String.fromCharCode(0×05E0,0×05D7,0×05D5,0×05DD,32,0×05D4,0×05E1,0×05E4,0×05D0,0×05DE,0×05E8))

  13. גיא מזרחי ISRAEL Windows XP Mozilla Firefox 2.0.0.11 כתב\ה:

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

  14. נחום הספאמר ISRAEL Windows XP Mozilla Firefox 2.0.0.11 כתב\ה:

    פשוט אי אפשר להיות צודק מולך… :)
    ואני חושב שאתה מתכוון ל128…

  15. גלעד-flint ISRAEL Ubuntu Linux Mozilla Firefox 2.0.0.11 כתב\ה:

    נחום?! זה לא עובד..

  16. אלעד ISRAEL Windows XP Mozilla Firefox 2.0.0.11 כתב\ה:

    תודה גיא!
    הסבר טוב ופשוט:)

  17. נחום הספאמר ISRAEL Windows XP Mozilla Firefox 2.0.0.11 כתב\ה:

    גלעד – פשוט האיקסים דפוקים תחליף אותם ידנית בx

  18. nxend ISRAEL Windows XP Internet Explorer 6.0 כתב\ה:

    לא ציינו אבל זה תקף גם לגבי ניקוי של מחרווזת מ" ו' בSQLINJ:
    char(11,32,14,114,95)