August 20, 2018

Language:

ស្វែងយល់ពីការវាយប្រហារ Cross-Site Scripting (XSS)

១. លក្ខណៈទូទៅ

ការវាយប្រហារ Cross-Site Scripting (XSS) គឺជាការវាយប្រហារទៅលើប្រព័ន្ធសុវត្ថិភាព ប្រភេទបញ្ចូលកូដមេរោគ (Injection) ដោយអ្នកវាយប្រហារធ្វើការបញ្ចូលទិន្នន័យ ដូចជាកូដមេរោគ (Malicious Scripts) ចូលទៅក្នុងវេបសាយណាមួយ។ ការវាយប្រហារ XSS កើតឡើងនៅពេលដែល វេបសាយមួយមានចំនុចខ្សោយ ដែលអ្នកវាយប្រហារមានលទ្ធភាពក្នុងការបញ្ចូលកូដទៅក្នុងវេបសាយបាន (Web Application) ហើយកូដមេរោគ (Malicious Code) ត្រូវបានផ្ទុកនៅលើវេបសាយ ហើយត្រូវបានឆ្លងទៅកម្មវិធីឆែកអ៊ិនធឺណិត (Browser) របស់ជនរងគ្រោះ។

ការវាយប្រហារ XSS អនុញ្ញាតអោយអ្នកវាយប្រហារធ្វើការដំណើរការកូដមេរោគ (Malicious Scripts) នៅក្នុងកម្មវិធីឆែកអ៊ិនធឺណិត (Browser) របស់ជនរងគ្រោះ។ ក៏ប៉ុន្តែអ្នកវាយប្រហារពុំធ្វើការវាយប្រហារដោយផ្ទាល់នោះទេ ផ្ទុយទៅវិញអ្នកវាយប្រហារ ធ្វើការវាយប្រហារចន្លោះប្រហោងនៅក្នុង វេបសាយ ដែលជនរកគ្រោះបានចូលមើល ហើយនឹងចម្លងនូវកូដមេរោគ (Malicious Scripts) តាមរយៈវេបសាយទៅកាន់ជនរងគ្រោះ។

២. ដំណើរការ និងផលប៉ះពាល់

ដូចទៅនឹងការវាយប្រហារបញ្ចូលកូដមេរោគ (Injection) ដទៃទៀតដែរ XSS ទាញអត្ថប្រយោជន៍ចំពោះកម្មវិធីឆែកអ៊ិនធឺណិត (Browser) ដែលមិនអាចកំណត់សញ្ញាសម្គាល់ដែលត្រឹមត្រូវពីការវាយប្រហារ ដោយកម្មកម្មវិធីឆែកអ៊ិនធឺណិត (Browser) គ្រាន់តែប្រតិបត្តិអ្វីដែលវាទទួលបានតែប៉ុណ្ណោះ។

XSS អាចត្រូវបានគេ ប្រើតាមវិធីជាច្រើន ដើម្បីបង្ករនូវបញ្ហារធ្ងន់ធ្ងរ។ ជាធម្មតា XSS អាចអោយអ្នកវាយប្រហារលួចនូវ Session Cookies ហើយធ្វើការបន្លំខ្លួនជាជនរងគ្រោះ។ ប៉ុន្តែអ្នកវាយប្រហារមិនមែនលួចត្រឹមតែ Cookies ប៉ុណ្ណោះទេ ពួកគេអាចប្រើ XSS ធ្វើការចែកចាយនូវមេរោគ (Malware) ធ្វើការកែប្រែទំព័រមុខរបស់វេបសាយ លួចយកនូវអត្តសញ្ញាណ (credential) ដោយការភ្ជាប់ជាមួយបច្ចេកទេសវាយប្រហារបែប Social Engineering Techniques និងការវាយប្រហារបំផ្លិចបំផ្លាញផ្សេងទៀត។

៣.​ វិធីសាស្ដ្រការពារ

ការបញ្ចៀសការបញ្ចូលរបស់អ្នកប្រើ គឺជាមធ្យោបាយមួយដើម្បីទប់ស្កាត់នូវចន្លោះប្រហោងដែលបង្ករអោយមាន XSS។ នេះមានន័យថារាល់ការទទួលយកទិន្នន័យដែលកម្មវិធី (Web Application) ទទួលបាន និងធានាថាវាមានសុវត្ថិភាពមុននឹងបង្ហាញទៅដល់អ្នកប្រើប្រាស់។ ការបញ្ចៀសការបញ្ចូលរបស់អ្នកប្រើ ការពារតួអក្សរគន្លឹះក្នុងទិន្នន័យដែល Webpage ទទួលបានហើយបកប្រែជាកូដដែលអាចប្រតិបត្តិបាន។ នេះមានន័យថាយើងការពារកម្មវិធីឆែកអ៊ិនធឺណិត(Browser) ពីការបកប្រែតួអក្សរដែលបានប្រើដើម្បីបង្ហាញសញ្ញាចាប់ផ្តើម ឬបញ្ចប់នៃកូដដែលអាចប្រតិបត្តិបាន អោយទៅជាការដំណើរការតួរអក្សរធម្មតាវិញ។ ឧទាហរណ៍ដូចជា Quote Characters “” សញ្ញារវង់ក្រចក () ជួនកាលត្រូវបានប្រើដើម្បីកំណត់កូដដែលអាចប្រតិបត្តិបាន។ ការបញ្ចៀសតួរអក្សរទាំងអស់នេះ មានន័យថាយើងកំណត់ ប្រសិនបើកម្មវិធីឆែកអ៊ិនធឺណិត(Browser) ជួបនូវតួរអក្សរទាំងអស់នេះ នោះអោយវាបំលែងពីតួរអក្សរដែលបកប្រែដើម្បីដំណើរការ ទៅជាតួរអក្សរដែលសម្រាប់បង្ហាញធម្មតា។

ឯកសារយោង:

http://searchsecurity.techtarget.com/definition/cross-site-scripting