ផលប៉ះពាល់នៃការចាក់ SQL
ZXCVFIXVIBESEG ៤ ការចាក់ SQL (SQLi) អនុញ្ញាតឱ្យអ្នកវាយប្រហារជ្រៀតជ្រែកជាមួយសំណួរដែលកម្មវិធីបង្កើតទៅកាន់មូលដ្ឋានទិន្នន័យរបស់វា [S1] ។ ផលប៉ះពាល់ចម្បងរួមមានការចូលប្រើដោយគ្មានការអនុញ្ញាតចំពោះទិន្នន័យរសើប ដូចជាពាក្យសម្ងាត់អ្នកប្រើប្រាស់ ព័ត៌មានលម្អិតអំពីប័ណ្ណឥណទាន និងព័ត៌មានផ្ទាល់ខ្លួន [S1] ។
ZXCVFIXVIBESEG ៥ លើសពីការលួចទិន្នន័យ អ្នកវាយប្រហារអាចកែប្រែ ឬលុបកំណត់ត្រាមូលដ្ឋានទិន្នន័យ ដែលនាំឱ្យមានការផ្លាស់ប្ដូរជាបន្តបន្ទាប់នៅក្នុងឥរិយាបថកម្មវិធី ឬការបាត់បង់ទិន្នន័យ [S1] ។ ក្នុងករណីដែលមានភាពធ្ងន់ធ្ងរខ្ពស់ SQLi អាចត្រូវបានបង្កើនដើម្បីសម្របសម្រួលហេដ្ឋារចនាសម្ព័ន្ធផ្នែកខាងក្រោយ បើកការវាយប្រហារនៃការបដិសេធសេវាកម្ម ឬផ្តល់នូវ backdoor ជាប់លាប់ទៅក្នុងប្រព័ន្ធរបស់ស្ថាប័ន [S1][S2] ។
ZXCVFIXVIBESEG ៦
មូលហេតុ៖ ការដោះស្រាយការបញ្ចូលមិនមានសុវត្ថិភាព
ZXCVFIXVIBESEG ៧ មូលហេតុឫសគល់នៃការចាក់ SQL គឺអព្យាក្រឹតភាពមិនត្រឹមត្រូវនៃធាតុពិសេសដែលប្រើក្នុងពាក្យបញ្ជា SQL [S2] ។ វាកើតឡើងនៅពេលដែលកម្មវិធីបង្កើតសំណួរ SQL ដោយភ្ជាប់ធាតុបញ្ចូលដែលមានឥទ្ធិពលខាងក្រៅដោយផ្ទាល់ទៅក្នុងខ្សែអក្សរសំណួរ [S1][S2] ។
ZXCVFIXVIBESEG ៨ ដោយសារតែធាតុបញ្ចូលមិនត្រូវបានញែកឱ្យបានត្រឹមត្រូវពីរចនាសម្ព័ន្ធសំណួរ អ្នកបកប្រែមូលដ្ឋានទិន្នន័យអាចប្រតិបត្តិផ្នែកនៃការបញ្ចូលរបស់អ្នកប្រើជាកូដ SQL ជាជាងការចាត់ទុកវាជាទិន្នន័យជាក់ស្តែង [S2] ។ ភាពងាយរងគ្រោះនេះអាចបង្ហាញនៅក្នុងផ្នែកផ្សេងៗនៃសំណួរ រួមទាំងសេចក្តីថ្លែងការណ៍ SELECT តម្លៃ INSERT ឬសេចក្តីថ្លែងការណ៍ UPDATE [S1] ។
ការជួសជុល និងកាត់បន្ថយបេតុង
ZXCVFIXVIBESEG ១០
ប្រើសំណួរដែលកំណត់ប៉ារ៉ាម៉ែត្រ
ZXCVFIXVIBESEG ១១ មធ្យោបាយដ៏មានប្រសិទ្ធភាពបំផុតក្នុងការទប់ស្កាត់ការចាក់ SQL គឺការប្រើសំណួរដែលកំណត់ប៉ារ៉ាម៉ែត្រ ដែលត្រូវបានគេស្គាល់ថាជាសេចក្តីថ្លែងការណ៍ដែលបានរៀបចំ [S1] ។ ជំនួសឱ្យការភ្ជាប់ខ្សែអក្សរ អ្នកអភិវឌ្ឍន៍គួរតែប្រើយន្តការដែលមានរចនាសម្ព័ន្ធដែលពង្រឹងការបំបែកទិន្នន័យ និងលេខកូដ [S2] ។
ZXCVFIXVIBESEG ១២
គោលការណ៍នៃសិទ្ធិតិចតួចបំផុត។
ZXCVFIXVIBESEG ១៣ កម្មវិធីគួរតែភ្ជាប់ទៅមូលដ្ឋានទិន្នន័យដោយប្រើសិទ្ធិទាបបំផុតដែលត្រូវការសម្រាប់ភារកិច្ចរបស់ពួកគេ [S2] ។ គណនីកម្មវិធីគេហទំព័រមិនគួរមានសិទ្ធិគ្រប់គ្រងទេ ហើយគួរតែត្រូវបានដាក់កម្រិតលើតារាងជាក់លាក់ ឬប្រតិបត្តិការចាំបាច់សម្រាប់មុខងាររបស់វា [S2] ។
ការបញ្ចូលសុពលភាព និងការអ៊ិនកូដ
ZXCVFIXVIBESEG ១៥ ខណៈពេលដែលមិនមែនជាការជំនួសសម្រាប់ប៉ារ៉ាម៉ែត្រ ការបញ្ចូលសុពលភាពផ្តល់នូវការការពារក្នុងជម្រៅ [S2] ។ កម្មវិធីគួរតែប្រើយុទ្ធសាស្ត្រដែលទទួលស្គាល់ដោយទទួលស្គាល់ដោយបញ្ជាក់ឱ្យឃើញថាការបញ្ចូលត្រូវគ្នានឹងប្រភេទ ប្រវែង និងទម្រង់ [S2] ដែលរំពឹងទុក។
របៀបដែល FixVibe ធ្វើតេស្តសម្រាប់វា។
FixVibe គ្របដណ្តប់លើការចាក់ SQL រួចហើយតាមរយៈម៉ូឌុលស្កែន active.sqli ដែលមានច្រកចេញចូល។ ការស្កេនសកម្មដំណើរការតែបន្ទាប់ពីការផ្ទៀងផ្ទាត់កម្មសិទ្ធិដែន និងការបញ្ជាក់។ មូលប្បទានប័ត្រនេះរុករកចំណុចបញ្ចប់ GET ដែលមានប្រភពដើមដូចគ្នាជាមួយនឹងប៉ារ៉ាម៉ែត្រសំណួរ បង្កើតការឆ្លើយតបជាមូលដ្ឋាន ស្វែងរកភាពមិនប្រក្រតីប៊ូលីនជាក់លាក់របស់ SQL ហើយរាយការណ៍តែការរកឃើញបន្ទាប់ពីការបញ្ជាក់ពេលវេលាឆ្លងកាត់រយៈពេលពន្យាពេលច្រើន។ ការស្កែនឃ្លាំងក៏ជួយចាប់យកមូលហេតុដើមមុនតាមរយៈ code.web-app-risk-checklist-backfill ដែលដាក់ទង់ការហៅ SQL ឆៅដែលបានបង្កើតជាមួយការបញ្ចូលគំរូ។
