ആഘാതം
അപകടസാധ്യതയുള്ള [S2] ആപ്ലിക്കേഷൻ്റെ ഉപയോക്താക്കളിൽ നിന്ന് ഒരു ആക്രമണകാരിക്ക് സെൻസിറ്റീവായതും ആധികാരികവുമായ ഡാറ്റ മോഷ്ടിക്കാനാകും. അപകടസാധ്യതയുള്ള ആപ്പിൽ ലോഗിൻ ചെയ്തിരിക്കുമ്പോൾ ഒരു ഉപയോക്താവ് ക്ഷുദ്രകരമായ വെബ്സൈറ്റ് സന്ദർശിക്കുകയാണെങ്കിൽ, ക്ഷുദ്രകരമായ സൈറ്റിന് ആപ്പിൻ്റെ API-ലേക്ക് ക്രോസ്-ഒറിജിൻ അഭ്യർത്ഥനകൾ നടത്താനും പ്രതികരണങ്ങൾ [S1][S2] വായിക്കാനും കഴിയും. ഇത് ഉപയോക്തൃ പ്രൊഫൈലുകൾ, CSRF ടോക്കണുകൾ അല്ലെങ്കിൽ സ്വകാര്യ സന്ദേശങ്ങൾ [S2] എന്നിവയുൾപ്പെടെയുള്ള സ്വകാര്യ വിവരങ്ങളുടെ മോഷണത്തിലേക്ക് നയിച്ചേക്കാം.
മൂലകാരണം
CORS എന്നത് ഒരു HTTP-ഹെഡർ അധിഷ്ഠിത മെക്കാനിസമാണ്, അത് ഏത് ഉറവിടങ്ങളാണ് (ഡൊമെയ്ൻ, സ്കീം അല്ലെങ്കിൽ പോർട്ട്) [S1] ലോഡുചെയ്യാൻ അനുവദിച്ചിരിക്കുന്നതെന്ന് വ്യക്തമാക്കാൻ സെർവറുകളെ അനുവദിക്കുന്നു. ഒരു സെർവറിൻ്റെ CORS നയം വളരെ അയവുള്ളതോ മോശമായി നടപ്പിലാക്കിയതോ ആയ [S2] ആണെങ്കിൽ സാധാരണയായി കേടുപാടുകൾ ഉണ്ടാകുന്നു:
- പ്രതിഫലിക്കുന്ന ഒറിജിൻ ഹെഡർ: ചില സെർവറുകൾ ഒരു ക്ലയൻ്റ് അഭ്യർത്ഥനയിൽ നിന്ന്
Originതലക്കെട്ട് വായിക്കുകയുംAccess-Control-Allow-Origin(ACAO) പ്രതികരണ തലക്കെട്ടിൽ [S2]-ൽ വീണ്ടും പ്രതിധ്വനിക്കുകയും ചെയ്യുന്നു. [S2] എന്ന റിസോഴ്സ് ആക്സസ് ചെയ്യാൻ ഇത് ഏത് വെബ്സൈറ്റിനെയും ഫലപ്രദമായി അനുവദിക്കുന്നു. - തെറ്റായ വൈൽഡ്കാർഡുകൾ:
*വൈൽഡ്കാർഡ് ഏതെങ്കിലും ഉറവിടം ഒരു ഉറവിടം ആക്സസ് ചെയ്യാൻ അനുവദിക്കുമ്പോൾ, ക്രെഡൻഷ്യലുകൾ (കുക്കികൾ അല്ലെങ്കിൽ ഓതറൈസേഷൻ തലക്കെട്ടുകൾ പോലെ) ആവശ്യമുള്ള അഭ്യർത്ഥനകൾക്ക് ഇത് ഉപയോഗിക്കാൻ കഴിയില്ല [S3]. [S2] എന്ന അഭ്യർത്ഥനയുടെ അടിസ്ഥാനത്തിൽ ACAO തലക്കെട്ട് ചലനാത്മകമായി സൃഷ്ടിച്ചുകൊണ്ട് ഡെവലപ്പർമാർ പലപ്പോഴും ഇത് മറികടക്കാൻ ശ്രമിക്കുന്നു. - 'null' വൈറ്റ്ലിസ്റ്റിംഗ്: ചില ആപ്ലിക്കേഷനുകൾ
nullഉത്ഭവം വൈറ്റ്ലിസ്റ്റ് ചെയ്യുന്നു, ഇത് റീഡയറക്ടുചെയ്ത അഭ്യർത്ഥനകളോ ലോക്കൽ ഫയലുകളോ ഉപയോഗിച്ച് പ്രവർത്തനക്ഷമമാക്കാം, ക്ഷുദ്ര സൈറ്റുകളെ ആക്സസ്സ് നേടുന്നതിന്nullഉറവിടമായി മാറാൻ അനുവദിക്കുന്നു. [S2][S3]. - പാഴ്സിംഗ് പിശകുകൾ:
Originഹെഡർ സാധൂകരിക്കുമ്പോൾ റീജക്സിലോ സ്ട്രിംഗ് മാച്ചിംഗിലോ ഉണ്ടാകുന്ന പിഴവുകൾtrusted-domain.com.attacker.com[S2] പോലുള്ള ഡൊമെയ്നുകൾ ഉപയോഗിക്കാൻ ആക്രമണകാരികളെ അനുവദിക്കും.
CORS എന്നത് ക്രോസ്-സൈറ്റ് അഭ്യർത്ഥന വ്യാജമായി (CSRF) [S2] എന്നതിനെതിരായ ഒരു സംരക്ഷണമല്ല എന്നത് ശ്രദ്ധിക്കേണ്ടതാണ്.
കോൺക്രീറ്റ് ഫിക്സുകൾ
- ഒരു സ്റ്റാറ്റിക് വൈറ്റ്ലിസ്റ്റ് ഉപയോഗിക്കുക: അഭ്യർത്ഥനയുടെ
Originഹെഡറിൽ നിന്ന്Access-Control-Allow-Originതലക്കെട്ട് ചലനാത്മകമായി സൃഷ്ടിക്കുന്നത് ഒഴിവാക്കുക. പകരം, [S3] എന്ന വിശ്വസ്ത ഡൊമെയ്നുകളുടെ ഹാർഡ്കോഡ് ലിസ്റ്റുമായി അഭ്യർത്ഥനയുടെ ഉത്ഭവം താരതമ്യം ചെയ്യുക. - 'ശൂന്യമായ' ഉത്ഭവം ഒഴിവാക്കുക: നിങ്ങളുടെ അനുവദനീയമായ ഉറവിടങ്ങളുടെ വൈറ്റ്ലിസ്റ്റിൽ
nullഒരിക്കലും ഉൾപ്പെടുത്തരുത് [S2]. - ക്രെഡൻഷ്യലുകൾ നിയന്ത്രിക്കുക: നിർദ്ദിഷ്ട ക്രോസ്-ഒറിജിൻ ഇൻ്ററാക്ഷന് [S3] തികച്ചും ആവശ്യമെങ്കിൽ മാത്രം
Access-Control-Allow-Credentials: trueസജ്ജമാക്കുക. - ശരിയായ മൂല്യനിർണ്ണയം ഉപയോഗിക്കുക: നിങ്ങൾ ഒന്നിലധികം ഉത്ഭവങ്ങളെ പിന്തുണയ്ക്കേണ്ടതുണ്ടെങ്കിൽ,
Originഹെഡറിനായുള്ള മൂല്യനിർണ്ണയ ലോജിക് ശക്തമാണെന്നും സബ്ഡൊമെയ്നുകളോ സമാന രൂപത്തിലുള്ള ഡൊമെയ്നുകളോ [S2] വഴി മറികടക്കാൻ കഴിയില്ലെന്നും ഉറപ്പാക്കുക.
എങ്ങനെയാണ് FixVibe അതിനായി പരീക്ഷിക്കുന്നത്
FixVibe ഇപ്പോൾ ഇതൊരു ഗേറ്റഡ് ആക്റ്റീവ് ചെക്ക് ആയി ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. ഡൊമെയ്ൻ പരിശോധിച്ചുറപ്പിച്ചതിന് ശേഷം, active.cors ഒരു സിന്തറ്റിക് ആക്രമണകാരിയുടെ ഉത്ഭവം ഉള്ള അതേ-ഉത്ഭവ API അഭ്യർത്ഥനകൾ അയയ്ക്കുകയും CORS പ്രതികരണ തലക്കെട്ടുകൾ അവലോകനം ചെയ്യുകയും ചെയ്യുന്നു. അനിയന്ത്രിതമായ ഉത്ഭവം, വൈൽഡ്കാർഡ് ക്രെഡൻഷ്യൽ ചെയ്ത CORS, പൊതു അസറ്റ് ശബ്ദം ഒഴിവാക്കുന്ന സമയത്ത് പൊതുമല്ലാത്ത API എൻഡ്പോയിൻ്റുകളിൽ വൈഡ്-ഓപ്പൺ CORS എന്നിവ ഇത് റിപ്പോർട്ട് ചെയ്യുന്നു.
