GraphQL Introspection פתוח באפליקציית Base44
Base44 הוא בונה full-stack עם מסד נתונים והרשאות מובנים, כך שהאבטחה מוגדרת בתוך הבילדר עצמו.
מה הבעיה
נקודת קצה GraphQL שמאפשרת introspection בפרודקשן - כל אחד יכול לבקש את הסכמה המלאה: כל הטיפוסים, השדות והמוטציות.
למה זה מסוכן
התוקף מקבל מפה מדויקת של ה-API שלך, כולל שדות ומוטציות שלא חשבת שמישהו ימצא - נקודת הפתיחה של כל מתקפה ממוקדת.
איפה זה מתוקן ב-Base44
אינטגרציות וסודות מוגדרים בהגדרות האפליקציה ב-Base44 - אם מפתח מופיע בקוד שהדפדפן מקבל, הוא הוגדר במקום הלא נכון.
שלבי התיקון
- כבה introspection בפרודקשן (רוב השרתים:
introspection: false) - הוסף בדיקת הרשאות על מוטציות רגישות - הסתרת הסכמה היא לא הגנה בפני עצמה
ההנחיה להדביק ב-Base44
העתק את ההנחיה הבאה לכלי שבנה את האפליקציה (באנגלית - כך הכלים עובדים הכי טוב):
Disable GraphQL introspection in production and verify every sensitive mutation checks authorization server-side.
איך מוודאים שהתיקון עבד
סריקה חוזרת שולחת שאילתת introspection ומוודאת שהיא נדחית.
עוד בנושא
בדיקה חינם
רוצה לדעת אם האפליקציה שלך חשופה? סרוק בחינם ב-30 שניות וקבל ציון אבטחה + הוראות תיקון.