ផលប៉ះពាល់
ZXCVFIXVIBESEG ៤ អ្នកវាយប្រហារអាចលួចទិន្នន័យរសើប និងផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវពីអ្នកប្រើប្រាស់កម្មវិធីដែលងាយរងគ្រោះ [S2]។ ប្រសិនបើអ្នកប្រើចូលទៅកាន់គេហទំព័រព្យាបាទ ខណៈពេលដែលចូលទៅក្នុងកម្មវិធីដែលងាយរងគ្រោះនោះ គេហទំព័រព្យាបាទអាចបង្កើតសំណើឆ្លងប្រភពទៅកាន់ API របស់កម្មវិធី ហើយអានការឆ្លើយតប [S1][S2] ។ នេះអាចនាំឱ្យមានការលួចព័ត៌មានឯកជន រួមទាំងទម្រង់អ្នកប្រើប្រាស់ លេខសម្ងាត់ CSRF ឬសារឯកជន [S2] ។
ZXCVFIXVIBESEG ៥
មូលហេតុ
ZXCVFIXVIBESEG ៦ CORS គឺជាយន្តការផ្អែកលើបឋមកថា HTTP ដែលអនុញ្ញាតឱ្យម៉ាស៊ីនមេបញ្ជាក់ប្រភពដើម (ដែន គ្រោងការណ៍ ឬច្រក) ត្រូវបានអនុញ្ញាតឱ្យផ្ទុកធនធាន [S1] ។ ភាពងាយរងគ្រោះជាធម្មតាកើតឡើងនៅពេលដែលគោលការណ៍ CORS របស់ម៉ាស៊ីនមេមានភាពបត់បែនពេក ឬអនុវត្តមិនបានល្អ [S2]៖
ZXCVFIXVIBESEG ៧
- បឋមកថាប្រភពដើមដែលឆ្លុះបញ្ចាំង៖ ម៉ាស៊ីនមេខ្លះអានបឋមកថា
Originពីសំណើរបស់អតិថិជន ហើយបន្ទរវាត្រឡប់មកវិញនៅក្នុងបឋមកថាឆ្លើយតបAccess-Control-Allow-Origin(ACAO) [S2] ។ នេះមានប្រសិទ្ធភាពអនុញ្ញាតឱ្យគេហទំព័រណាមួយចូលប្រើធនធាន [S2] ។
ZXCVFIXVIBESEG ៨
- អក្សរជំនួសដែលបានកំណត់រចនាសម្ព័ន្ធមិនត្រឹមត្រូវ៖ ខណៈពេលដែលតួអក្សរជំនួស
*អនុញ្ញាតឱ្យប្រភពដើមណាមួយចូលប្រើធនធាន វាមិនអាចប្រើសម្រាប់សំណើដែលត្រូវការព័ត៌មានសម្ងាត់ (ដូចជាខូគី ឬបឋមកថាអនុញ្ញាត) [S3] ទេ។ អ្នកអភិវឌ្ឍន៍ជារឿយៗព្យាយាមរំលងវាដោយបង្កើតបឋមកថា ACAO យ៉ាងសកម្មដោយផ្អែកលើសំណើ [S2] ។ - បញ្ជីស 'ជាមោឃៈ': កម្មវិធីមួយចំនួនដាក់ក្នុងបញ្ជីសប្រភពដើម
nullដែលអាចត្រូវបានបង្កឡើងដោយការស្នើសុំប្តូរទិស ឬឯកសារក្នុងតំបន់ ដែលអនុញ្ញាតឱ្យគេហទំព័រព្យាបាទក្លែងបន្លំជាប្រភពដើមnullដើម្បីទទួលបានការចូលប្រើ ZXCVFIXVIBETOKEN2ZBETOKENKCVVIXZ
ZXCVFIXVIBESEG ១០
- កំហុសក្នុងការញែក៖ កំហុសក្នុងការផ្គូផ្គង regex ឬខ្សែអក្សរ នៅពេលផ្ទៀងផ្ទាត់បឋមកថា
Originអាចអនុញ្ញាតឱ្យអ្នកវាយប្រហារប្រើដែនដូចជាtrusted-domain.com.attacker.com[S2] ។
ZXCVFIXVIBESEG ១១ វាជាការសំខាន់ក្នុងការកត់សម្គាល់ថា CORS មិនមែនជាការការពារប្រឆាំងនឹងការក្លែងបន្លំការស្នើសុំឆ្លងគេហទំព័រ (CSRF) [S2] ទេ។
ZXCVFIXVIBESEG ១២
ជួសជុលបេតុង
ZXCVFIXVIBESEG ១៣
- ប្រើបញ្ជីសឋិតិវន្ត៖ ជៀសវាងការបង្កើតបឋមកថា
Access-Control-Allow-OriginពីបឋមកថាOriginរបស់សំណើ [S2] ។ ជំនួសមកវិញ សូមប្រៀបធៀបប្រភពដើមនៃសំណើនេះជាមួយនឹងបញ្ជី hardcoded នៃដែនដែលអាចទុកចិត្តបាន [S3] ។ - ជៀសវាងប្រភពដើម 'ទទេ'៖ កុំរួមបញ្ចូល
nullនៅក្នុងបញ្ជីសរបស់អ្នកនៃប្រភពដើមដែលបានអនុញ្ញាត [S2] ។
ZXCVFIXVIBESEG ១៥
- ដាក់កម្រិតការបញ្ជាក់អត្តសញ្ញាណ៖ កំណត់
Access-Control-Allow-Credentials: trueតែប៉ុណ្ណោះ ប្រសិនបើចាំបាច់សម្រាប់អន្តរកម្មឆ្លងប្រភពជាក់លាក់ [S3] ។ - ប្រើសុពលភាពត្រឹមត្រូវ៖ ប្រសិនបើអ្នកត្រូវតែគាំទ្រប្រភពដើមច្រើន ត្រូវប្រាកដថាតក្កវិជ្ជាសុពលភាពសម្រាប់បឋមកថា
Originមានភាពរឹងមាំ ហើយមិនអាចឆ្លងកាត់ដែនរង ឬដែនដែលមើលទៅស្រដៀងគ្នា [S2] បានទេ។
របៀបដែល FixVibe ធ្វើតេស្តសម្រាប់វា។
ZXCVFIXVIBESEG ១៨ FixVibe ឥឡូវនេះរួមបញ្ចូលវាជាការត្រួតពិនិត្យសកម្ម។ បន្ទាប់ពីការផ្ទៀងផ្ទាត់ដែន active.cors ផ្ញើសំណើ API ដែលមានប្រភពដើមដូចគ្នាទៅនឹងអ្នកវាយប្រហារសំយោគ ហើយពិនិត្យមើលបឋមកថាការឆ្លើយតប CORS ។ របាយការណ៍នេះបានឆ្លុះបញ្ចាំងពីប្រភពដើមតាមអំពើចិត្ត អក្សរជំនួសដែលបញ្ជាក់អត្តសញ្ញាណ CORS និង CORS បើកចំហរនៅលើចំណុចបញ្ចប់ API ដែលមិនសាធារណៈ ខណៈពេលដែលជៀសវាងសំឡេងរំខានពីទ្រព្យសម្បត្តិសាធារណៈ។
