September 26, 2020

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

***Disclaimer: CamCERT own some of the content. Our purpose is pure to help spread the awareness, tips or other information related to security to everyone. Even though every information is true, accurate, completed and appropriate, we make no responsibility nor warranty since everything could go wrong.