ווען זיי ארבעטן מיט האַנדלעבאַרס, פֿאַרשטייען דעוועלאָפּערס אָפֿט נישט ווי אַזוי די אומרעכטע באַניץ פֿון טעמפּלאַטן קען אויפֿדעקן ערנסטע אינדזשעקשאַן חסרונות. כאָטש האַנדלעבאַרס JS אַנטלויפֿט אויטאָמאַטיש די רעזולטאַטן, קענען אומזיכערע מוסטערן ווי טריפּל בראַסעס אָדער שלעכט געשריבענע האַנדלעבאַרס העלפּערס איבערשפּרינגען שוץ. דערפֿאַר קענען אַטאַקירער אינדזשעקטירן XSS פּיילאָודז, גנבענען דאַטן, אָדער לויפֿן בייזוויליקע קאָד.
די אנווייזונג ווייזט אייך ווי אזוי צו נוצן זיכערע הענטלער-בארן, אונטערשטרייכט געפערלעכע קעגן זיכערע ביישפילן, און דערקלערט ווי אזוי צו אויטאמאטיזירן מוסטער-וואלידאציע אין pipelineס מיט מכשירים ווי Xygeni.
פארוואס הענדלער טעמפּלאַטעס קענען זיין ריזיקאַליש
דורך דיפאָלט, האַנדלעבאַרס JS אַנטלויפט ווערטן צו בלאָקירן דירעקטע אינדזשעקשאַן. אָבער פילע דעוועלאָפּערס דרייען דאָס אויס אָן צו וויסן די ריזיקעס. למשל, ניצן טריפּלע ברעיסעס ווייזט רויע HTML:
If userInput is <script>alert('XSS')</script>, דער סקריפּט ווערט אויסגעפירט אין בראַוזער. דער רעזולטאַט איז, אַז אפילו איין אומזיכערער טעמפּלאַט קען קאָמפּראָמיטירן די גאַנצע אַפּ.
די גרונטלעכע טעותים אונטערשטרייכן דעם ריזיקע. דעריבער, די געשיכטע האט געוויזן אז אומרעכטע באנוץ פון הענדלער האט געפירט צו גרויסע אויסנוצן אין דער ווילדער וועלט. לאָמיר איבערקוקן עטלעכע פון די מערסט באַמערקנסווערטע פעלער.
פאַקטישע ביישפילן פון וואַלנעראַביליטיז אין די האַנטלבאַרס
כאָטש האַנטלבאַרס JS אַנטלויפֿט ווערטן דורך פעליקייַט, געשיכטע ווייזט אַז אַנסייף פּאַטערנז אָדער שוואַך האַנטלבאַר העלפערס האָבן געפֿירט צו ערנסטע פּראָבלעמען:
1. פּראָטאָטיפּ פאַרפּעסטיקונג אין האַנטלבאַרס (npm אַדווייזערי GHSA-2cf5-4w76-r9qv)
אין 2021, איז געפונען געוואָרן אַ באַג אין די handlebars פּאַקעט אַליין. דער חסרון האָט דערלויבט פּראָטאָטיפּ פאַרפּעסטיקונג, וואו אַטאַקערס קענען אינדזשעקטן פּראָפּערטיעס אין גלאָבאַלע אָביעקטן דורך געמאַכטע טעמפּלאַטן.
- פּראַל: פּראָוטאָטיפּ פאַרפּעסטיקונג קען לאָזן אַטאַקערס לויפן קאָד, באַקומען העכער צוטריט, אָדער גנבענען דאַטן.
- אויסנוצן: אַטאַקירער האָבן געשיקט בייזוויליקע אינפֿאָרמאַציע ווי
__proto__אייגנשאפטן. ווען טעמפּלאַטן זענען געוואָרן רענדערד, האָבן די פאַרפּעסטיקטע אָביעקטן געביטן ווי די אַפּ האָט זיך אויפגעפירט. - לעקציע: אפילו דער טעמפּלאַט מאָטאָר קען זיין ריזיקאַליש אויב עס ווערט נישט אַפּדייטעד. דורכפירן דעפּענדענסי סקאַנס און האַלטן פּאַקאַדזשאַז פּאַטשט איז קריטיש.
2. XSS אין אַסאַנאַ'ס קאַסטאַם האַנטלבאַרס העלפּערס (2019)
אין 2019, האבן זיכערהייטס-פארשער אנטדעקט אז אַסאַנאַ, א טאסק מענעדזשמענט געצייג, האט אויסגעשטעלט באנוצער צו קססס צוליב אומזיכערע קאַסטאַם העלפּערס. דעוועלאָפּערס האָבן געשריבן העלפּערס וואָס האָבן צוריקגעגעבן רויע סטרינגס ניצנדיק SafeString, בייפּאַסינג די האַנדלעבאַרס' איינגעבויטע אַנטלויפֿונג.
- פּראַל: אַטאַקערס האָבן אַרײַנגעשפּריצט בייזוויליקע דזשאַוואַסקריפּט אין געטיילטע טאַסקס אָדער באַמערקונגען.
- אויסנוצן: פּיילאָודז ווי
<script>alert('XSS')</script>איז געלאפן אין דעם קרבן'ס בלעטערער ווען זיי האבן געעפנט יענע פעלדער. - לעקציע: קיינמאָל נישט אויסלעשן עסקאַפּינג סיידן איר האָט קיין אַנדער ברירה. שטענדיק איבערקוקן קאַסטאַם. האַנטלבאַר העלפערס איידער זיי ארויסשטעלן.
טיפן פון וואַלנעראַביליטיז אין האַנטלבאַרס
אומזיכערע באַניץ פון האַנטלבאַרס JS טעמפּלאַטן קענען אויפדעקן פארשידענע קלאסן פון שוואַכקייטן. פארשטיין זיי העלפט דעוועלאָפּערס וויסן פּונקט וואָס צו פאַרהיטן:
קראָססיטע סקריפּטינג (XSS)
דאָס איז דער מערסטער געוויינטלעכער חסרון. עס פּאַסירט ווען דעוועלאָפּערס נוצן טריפּלע קלאַמערן. {{{}}} אדער רויע העלפערס וואָס דיסייבאַל אַנטלויפֿן.
- פּראַל: אַטאַקירער קענען אינדזשעקטירן
<script>טאַגס, HTML, אדער iframes וואָס לויפן אין דעם באַניצער'ס בלעטערער. - בייַשפּיל:
If
userInputכּולל<script>alert('XSS')</script>, עס ווערט גלייך אויסגעפירט.
פאַרפּעסטיקונג פּראָטאָטיפּ
ווי געזען אין די npm advisory GHSA-2cf5-4w76-r9qv, בייזוויליקע אינפוט קען מאדיפיצירן גלאָבאַלע אָביעקטן דורך געשאַפענע טעמפּלאַטן.
- פּראַל: דאָס קען פירן צו אַרביטראַרישער נאַטור, פּריווילעגיע עסקאַלאַציע, אָדער דאַטן עקספילטראַציע.
- לעקציע: שטענדיק האַלטן
handlebarsדערהייַנטיקט און לויפן דעפּענדענסי טשעקס אין CI/CD.
סערווירער-זייַט מוסטער ינדזשעקשאַן (SSTI)
SSTI פּאַסירט ווען נישט-פאַרלאָזלעכע אינפֿאָרמאַציע ווערט גלייך איבערגעגעבן אין אַ טעמפּלאַט מאָטאָר וואָס לויפט אויף דעם סערווער. האַנטלבאַרס JS, אויב דעוועלאָפּערס קאָמפּילירן טעמפּלאַטן ניצנדיק רויע באַניצער אינפוט, קען אַן אַטאַקער אויספירן פּיילאָודז אויף די סערווער לעוועל.
דער מאָטאָר קען פּרובירן עס צו עוואַלויִרן, און אויפדעקן סערווער-זייט טעקעס.
- פּראַל: אנדערש ווי XSS, וואס באאיינפלוסט נאר דעם בלעטערער, קען SSTI צושטעלן דירעקטן צוטריט צום סערווער סביבה.
- פּרעווענטיאָן: קיינמאָל נישט קאָמפּילירן טעמפּלאַטן פֿון נישט-פֿאַרטרויטע קוועלער. אַנשטאָט, ניצט נאָר פֿאָר-דעפֿינירטע טעמפּלאַטן און סאַניטיזירט די אינפּוטס איידער רענדערינג.
ענלעכע ריזיקעס דערשייַנען אין אַנדערע עקאָסיסטעמען. למשל, זעט אונדזער גייד וועגן פּיטהאָן דעפּענדענסי ינדזשעקשאַן צו לערנען זיכערע פּראַקטיקעס אין אַ אַנדערש קאָנטעקסט.
לאָגיק זידלען אין העלפּערס
פירונג האַנטלבאַר העלפערס קען זיין געפערלעך אויב זיי ערלויבן רויע סטרינגס אדער ארבעטן מיט נישט-באשטעטיגטע אינפוט.
- פּראַל: אַטאַקערס קענען בייפּאַסן אַנטלויפֿן אָדער נאַרן העלפֿער צו אַנטפּלעקן סענסיטיווע דאַטן.
- בייַשפּיל:
די הילף-פונקט שטעלט אפ די מעגלעכקייט פון אנטלויפן אינגאנצן און מען זאל עס אויסמיידן.
דאַטן ליקאַדזש
מאנchmal אנטפלעקן העלפערס אדער שלעכט קאנפיגורירטע טעמפּלאַטן סענסיטיווע אינפארמאציע.
- פּראַל: טאָקענס, קאָנפיג ווערטן, אדער דאַטאַבייס קראַדענטשאַלז קענען ווערן רענדערד אין HTML רעזולטאַט.
- לעקציע: קיינמאָל נישט אויפדעקן סודות אין טעמפּלאַטן; וואַלידירן און סקען פֿאַר אַקסאַדענטאַלע ליקס אין דיין רעפּאַזאַטאָריז.
צוזאַמען ווײַזן די קאַטעגאָריעס די קייט פון ריזיקעס וואָס דעוועלאָפּערס שטייען אַנטקעגן. דערפֿאַר קענען אפילו קליינע טעותים אין Handlebars JS זיך פֿאַרוואַנדלען אין פּראָבלעמען מיט צושטעלן קייטן אויב מען לאָזט זיי נישט פֿאַרריכטן.
פארוואס דאָס איז וויכטיק פֿאַר דעוועלאָפּערס
די שוואַכקייטן באַווייַזן אַז אַנסייף נוצן איז נישט טעאָרעטיש, עס איז שוין אויסגענוצט געוואָרן אין פאַקטישע פּלאַטפאָרמעס ווי אַסאַנאַ און npm פּאַקאַדזשאַזדערצו, מיט Handlebars JS וויידלי גענוצט אין Node.js און פראָנטענד פּראָיעקטן, ווערן נישט-זיכערע העלפערס אדער אַלטמאָדישע דיפּענדאַנסיז שנעל אַ ווייכווארג סאַפּליי טשיין ריזיקירן.
ווילט איר בלאקירן די ריזיקעס אויטאמאטיש? אָנהייבן אַ פרייע פּראָבע פֿון Xygeni און לייגן guardrails אין דיין pipeline הייַנט.
בעסטע פּראַקטיקעס פֿאַר זיכער נוצן פון האַנטלבאַרס
כדי צו פארמיידן אינדזשעקציע חסרונות, פאלגט די זיכערע קאדירונג פראקטיקעס:
1. שטענדיק נוצן טאָפּל קלאַמערן
דאָס גאַראַנטירט אַז דער טעמפּלאַט מאָטאָר אַנטלויפֿט HTML איידער רענדערינג.
2. וואַלידירן און סאַניטיזירן די אַרייַנשרייַב
דערצו, וואַלידירן די איינגאַבעס איידער איר זיי איבערגעבן צו טעמפּלאַטן. ביבליאָטעקן ווי validator.js
3. באַגרענעצן געפערלעכע העלפערס
שוואַך דיזיינד האַנטלבאַר העלפערס אָפט פאַראורזאַכן שוואַכקייטן:
דאָס בייפּאַסט אינגאַנצן עסיפּינג. אָבער, זיכערע העלפערס זאָלן זיין באַגרענעצט צו פּשוטע אָפּעראַציעס ווי פֿאָרמאַטירן דאַטעס אָדער שניידן טעקסט.
4. ניצט אינהאַלט זיכערהייט פּאָליטיק (CSP)
דערצו, דורכפירן שטארקע CSP כעדערס צו רעדוצירן דעם בלאַסט ראַדיוס פון יעדער ינדזשעקשאַן.
די בעסטע פּראַקטיקעס זענען וויכטיק בעת אַנטוויקלונג. אין דערצו קענט איר צולייגן אויטאָמאַטישע טשעקס אַזוי אַז אומזיכער קאָד זאָל קיינמאָל נישט אַריינקומען אין פּראָדוקציע.
אויטאמאטיזירן וואַלידאַציע אין CI/CD Pipelines
מאַנועלע איבערבליקן זענען נישט גענוג. צו קלארשטעלן, אומזיכערע האַנטלבאַר מוסטערן קענען אַרײַנגיין אין פּראָדוקציע סיידן אויטאָמאַטישע קאָנטראָלן זענען אין פּלאַץ:
- SAST כּללים: פאָן
{{{in.hbsטעקעס. - סודות סקאַנערס: דעטעקטירן קרעדענשאַלז וואָס זענען עמבעדיד אין טעמפּלאַטעס.
- CI/CD guardrailsצעברעכן בויטס ווען נישט זיכער האַנטלבאַר העלפערס אדער טריפל ברעיסעס דערשייַנען.
למשל, קענט איר דורכפירן א גארדרייל אין pipelines:
די טשעקס רעדוצירן די שאנס פון נישט-זיכערע טעמפּלאַטן, אָבער אָטאַמיישאַן אין גרויסן פארנעם דארף מען א פלאטפארמע. דא לייגט קסיגעני צו עקסטרע שוץ.
איר קענט אויך זען ווי אזוי צו באשיצן pipelineס אין ביטבאקעט ארבעט אין אונדזער ביטבאַקעט זיכערהייט אָפֿט געשטעלטע פֿראַגעס.
ווי Xygeni העלפט פאַרהיטן אומזיכערע נוצן פון האַנטלבאַרס
שרייבן זיכערן קאוד איז וויכטיג, אבער עכטע שוץ קומט פון אויטאמאטיזאציע. קסיגעני מאכט האַנטלבאַרס JS זיכערער דורך צולייגן טשעקס אין אייער וואָרקפלאָו:
- SAST פֿאַר טעמפּלאַטעס: סקאַנז
.hbsטעקעס צו כאַפּן נישט זיכער{{{אדער ריזיקאַלישע קאַסטאַם העלפּערס. - Guardrails: שטעלט איינפאכע כּללים אין גיטהאב, גיטלאַב, אדער ביטבאַקעט. אויב מען טרעפט נישט זיכערן האַנדלעבאַרס דזשעי-עס קאָד, שטעלט זיך אָפּ דער בוי.
- אויטאָפֿיקס: פֿאָרשלאָגט זיכערע פֿיקסעס אין pull requests, אויסטוישן טריפל ברעיסעס פאר זיכערע דאפלטע ברעיסעס אדער פארטרויענסווערדיגע העלפער רופט.
- סודות און קאָנפיגוראַציע טשעקס: געפינט טאָקענס אדער קרעדענשאַלז באַהאַלטן אין טעמפּלאַטעס איידער זיי ליקן.
- CI/CD זיכערהייַט: בלאקירט נישט-זיכערע שניפּעטס בעתן צונויפגיסן, אַזוי אַז נאָר זיכערער קאָד דערגרייכט פּראָדוקציע.
מיט קסיגעני, זיכער האַנטלבאַרס JS באַניץ איז ניט מער נאָר אַ גיידליין. עס ווערט טייל פון דיין אָטאַמאַטיש pipeline.
פּאַטינג עס אַלע צוזאַמען
הענדלערס זענען מערסטנס זיכער גלייך פון דער שאכטל, אבער אומרעכט באנוץ קען נאך אלץ עפענען די טיר צו אינדזשעקציע אטאקעס. נאכפאלגן בעסטע פראקטיקעס, וואלידירן אינפוט, און ניצן זיכערע העלפערס העלפט רעדוצירן ריזיקעס. אבער, דער עכטער פארטייל קומט ווען די טשעקס זענען אויטאמאטיש אין אייער. pipelines.
אין מסקנא, קאמבינירן גוטע קאדירונג געוואוינהייטן מיט מכשירים ווי Xygeni העלפט פארמיידן אינדזשעקציע חסרונות און האלט טעמפלעיטס זיכער, אן פארלאנגזאמען די ליפערונג.





