កុំព្យូទ័រ, ការសរសេរកម្មវិធី
ការចាក់ SQL នេះគឺជាអ្វី?
ចំនួននៃតំបន់បណ្ដាញនិងទំព័រនៅលើតំបន់បណ្តាញនេះត្រូវបានកើនឡើងជាលំដាប់។ បានយកសម្រាប់ការអភិវឌ្ឍនៃអស់អ្នកដែលអាចធ្វើបាន។ អ្នកអភិវឌ្ឍន៍បណ្តាញសុខភាពនិងប្រើជាញឹកញាប់កូដសុវត្ថិភាពនិងចាស់។ ហើយវាបង្កើតចន្លោះប្រហោងច្រើននិងពួក Hacker សម្រាប់ឧក្រិដ្ឋជនមួយ។ ជាងពួកគេមាន។ មួយនៃភាពងាយរងគ្រោះបុរាណបំផុត - ការចាក់ SQL មួយ។
ទ្រឹស្តីមួយបានបន្តិច
មានមនុស្សជាច្រើនបានដឹងថាភាគច្រើននៃតំបន់បណ្ដាញនិងសេវាកម្មលើបណ្តាញនេះត្រូវបានគេប្រើប្រាស់ការផ្ទុកមូលដ្ឋានទិន្នន័យ SQL ។ នេះគឺជា ភាសាសំណួររចនាសម្ព័ន្ធ ដែលអនុញ្ញាតឱ្យអ្នកត្រួតពិនិត្យនិងគ្រប់គ្រងការផ្ទុកទិន្នន័យ។ Oracle, MySQL, Postgre - មានកំណែផ្សេងគ្នាជាច្រើននៃមូលដ្ឋានទិន្នន័យប្រព័ន្ធគ្រប់គ្រងមូលដ្ឋានទិន្នន័យមាន។ ដោយមិនគិតពីឈ្មោះនិងប្រភេទ, ពួកគេបានប្រើទិន្នន័យសំណួរដូចគ្នា។ វាគឺនៅទីនេះដែលស្ថិតភាពងាយរងគ្រោះមានសក្តានុពល។ ប្រសិនបើការអភិវឌ្ឍន៍បរាជ័យក្នុងការដោះស្រាយឱ្យបានត្រឹមត្រូវនិងមានសុវត្ថិភាពស្នើសុំការវាយប្រហារមួយដែលអាចទាញយកប្រយោជន៍ពីនេះនិងប្រើវិធីសាស្រ្តពិសេសដើម្បីទទួលបាននូវការចូលដំណើរការទៅមូលដ្ឋានទិន្នន័យហើយបន្ទាប់មក - ដើម្បីឱ្យទាំងអស់គ្រប់គ្រងនិងតំបន់នោះ។
ដើម្បីជៀសវាងស្ថានភាពបែប, អ្នកត្រូវការដើម្បីបង្កើនប្រសិទ្ធភាពកូដឱ្យបានត្រឹមត្រូវនិងដើម្បីត្រួតពិនិត្យយ៉ាងដិតក្នុងរបៀបដែលសំណើមួយដែលត្រូវបានត្រូវបានដំណើរការមួយ។
សូមពិនិត្យមើលការចាក់ SQL មួយសម្រាប់
ដើម្បីបង្កើតវត្តមាននៃភាពងាយរងគ្រោះនៅតាមបណ្តាញមួយនេះមានទម្ងន់បានបញ្ចប់ដោយស្វ័យប្រវត្តិមួយផ្នែកទន់ប្រព័ន្ធ។ ប៉ុន្តែវាគឺអាចធ្វើទៅបានដើម្បីអនុវត្តការត្រួតពិនិត្យសាមញ្ញដោយដៃ។ ដើម្បីធ្វើដូចនេះសូមចូលទៅកាន់វិបសាយមួយនៃការធ្វើតេស្តនិងនៅក្នុងរបារអាសយដ្ឋានដើម្បីព្យាយាមបណ្តាលឱ្យមានកំហុសមូលដ្ឋានទិន្នន័យមួយ។ ឧទាហរណ៍ស្គ្រីបលើតំបន់បណ្តាញមួយដែលមិនអាចដោះស្រាយសំណើរនិងមិនកាត់បន្ថយពួកគេ។
ឧទាហរណ៍មាន nekiy_sayt / index.php? id = 25
វិធីដែលស្រួលបំផុត - ការដាក់ 25 បន្ទាប់ពីសម្រង់និងការផ្ញើសំណើនេះ។ ប្រសិនបើមានកំហុសកើតឡើងទេទាំងនៅលើតំបន់បណ្តាញនិងតម្រងសំណើទាំងអស់ត្រូវបានគ្រប់គ្រងឱ្យបានត្រឹមត្រូវឬត្រូវបានបិទនៅក្នុងការកំណត់នៃទិន្នផលរបស់ខ្លួន។ ប្រសិនបើមានទំព័រត្រូវបានផ្ទុកឡើងវិញជាមួយនឹងបញ្ហានេះ, បន្ទាប់មកភាពងាយរងគ្រោះទៅនឹងការចាក់ SQL មួយគឺមាន។
បន្ទាប់ពីនាងបានរកឃើញ, អ្នកអាចព្យាយាមដើម្បីកម្ចាត់វា។
ដើម្បីអនុវត្តភាពងាយរងគ្រោះតម្រូវការក្នុងការដឹងតិចតួចអំពីមួយនេះ ក្រុម SQL មួយសំណួរ។ ម្នាក់ក្នុងចំណោមពួកគេ - សហជីព។ វានាំមកនូវការរួមគ្នាជាច្រើនចូលទៅក្នុងលទ្ធផលសំណួរមួយ។ ដូច្នេះយើងអាចគណនាចំនួននៃវាលក្នុងតារាង។ ឧទាហរណ៍សំណួរទីមួយគឺ:
- nekiy_sayt / index.php? id = 25 សហជីព SELECT 1 ។
ក្នុងករណីជាច្រើន, កំណត់ត្រានេះគួរតែបង្កើតកំហុសមួយ។ នេះមានន័យថាចំនួននៃវាលគឺមិនស្មើ 1 ដូច្នេះការជ្រើសរើសយកជម្រើសនៃការធំជាងឬស្មើ 1 នេះវាគឺអាចធ្វើបានដើម្បីបង្កើតចំនួនពិតប្រាកដរបស់ពួកគេ:
- nekiy_sayt / index.php? id = 25 សហជីព SELECT 1,2,3,4,5,6 ។
នោះគឺនៅពេលដែលមានកំហុសនឹងលែងបង្ហាញ, វាមានន័យថាចំនួននៃវាលទាយ។
វាមានដំណោះស្រាយជំនួសទៅនឹងបញ្ហានេះ។ ជាឧទាហរណ៍នៅពេលមួយចំនួនធំនៃវាល - 30, 60 ឬ 100 នេះក្រុមពាក្យបញ្ជាដោយ។ ក្រុមវាលទ្ធផលនៃសំណួរនៅលើដីណាមួយឧទាហរណ៍លេខសម្គាល់នេះ:
- nekiy_sayt / index.php? id = 25 ក្រុមដោយ 5 ។
ប្រសិនបើមានកំហុសនេះមិនត្រូវបានទទួលបន្ទាប់មកវាលច្រើនជាង 5 ដូច្នេះជំនួសជម្រើសពីជួរទូលំទូលាយមួយ, វាគឺអាចធ្វើទៅបានដើម្បីគណនារបៀបនៃពួកគេជាច្រើនជាការពិត។
នេះជាឧទាហរណ៍ការចាក់ SQL មួយ - សម្រាប់ការចាប់ផ្តើមដែលចង់ព្យាយាមក្នុងការធ្វើតេស្តនៃការខ្លួនឯងនៅតំបន់របស់ខ្លួន។ វាជាការសំខាន់ដែលត្រូវចងចាំថាសម្រាប់ការចូលដំណើរការដែលគ្មានការអនុញ្ញាតទៅនឹងអត្ថបទដែលអាចប្រើមួយផ្សេងទៀតនៃក្រមព្រហ្មទណ្ឌ។
ប្រភេទសំខាន់នៃការចាក់
អនុវត្តភាពងាយរងគ្រោះដោយការចាក់ SQL មួយនៅតំណាងជាច្រើន។ បន្ទាប់គឺជាវិធីសាស្រ្តពេញនិយមបំផុត:
សហជីព សំណួរ SQL ដែលបាន ចាក់។ ឧទាហរណ៍សាមញ្ញមួយនៃប្រភេទនេះត្រូវបានពិនិត្យរួចហើយនៅខាងលើ។ វាត្រូវបានគេដឹងថាដោយសារតែមានកំហុសក្នុងការពិនិត្យមើលទិន្នន័យចូលដែលមិនត្រូវបានត្រងមួយ។
កំហុសក្នុងការចាក់ SQL ដែលមានមូលដ្ឋាន។ ដូចជាឈ្មោះបានបង្កប់ន័យ, ប្រភេទនេះប្រើកំហុសកន្សោមសមាសភាពមិនត្រឹមត្រូវផ្ញើវាក្យសម្ព័ន្ធ។ បន្ទាប់មកមានការស្កាត់នៃបឋមកថាឆ្លើយតប, វិភាគដែលអាចត្រូវបានអនុវត្តនៅពេលក្រោយ SQL មួយ-ចាក់។
ជង់ សួរ SQL ដែលបាន ចាក់។ ភាពងាយរងគ្រោះនេះត្រូវបានកំណត់ដោយការសម្តែងសំណើបន្តបន្ទាប់។ វាត្រូវបានកំណត់ដោយការបន្ថែមនៅចុងបញ្ចប់នៃទីសំគាល់នោះ ";" ។ វិធីសាស្រ្តនេះត្រូវបានអនុវត្តជាញឹកញាប់ដើម្បីចូលដំណើរការអនុវត្តអាននិងសរសេរទិន្នន័យឬប្រព័ន្ធប្រតិបត្តិការមុខងារនេះ, ប្រសិនបើការសិទ្ធិជាអ្នកអនុញ្ញាតឱ្យវា។
កម្មវិធីសម្រាប់ស្វែងរកភាពងាយរងគ្រោះ-SQL មួយ
តើមានការចាក់ SQL មួយសម្រាប់កម្មវិធីនេះជាធម្មតាមានសមាសភាគពីរ - បណ្តាញមួយដែលអាចធ្វើបានសម្រាប់ភាពងាយរងគ្រោះវិភាគនិងប្រើពួកគេដើម្បីទទួលបាននូវការចូលដំណើរការទៅទិន្នន័យ។ មានឧបករណ៍មួយចំនួនសម្រាប់ប្រព័ន្ធប្រតិបត្តិការស្ទើរតែទាំងអស់គឺគេស្គាល់ថា។ មុខងាររបស់ពួកគេយ៉ាងខ្លាំងសម្របសម្រួលការពិនិត្យមើលគេហទំព័រដើម្បីបំបែកការចាក់ SQL មួយរបស់អ្នក។
Sqlmap
ម៉ាស៊ីនស្កេនដែលមានអនុភាពខ្លាំងណាស់ដែលបានធ្វើការជាមួយមូលដ្ឋានទិន្នន័យភាគច្រើនបំផុត។ វាគាំទ្រវិធីសាស្រ្តផ្សេងគ្នានៃការអនុវត្តការចាក់ SQL មួយ។ វាមានសមត្ថភាពក្នុងការទទួលស្គាល់ប្រភេទនៃការបំបែកសញ្ញាពាក្យសម្ងាត់និងវចនានុក្រមដោយស្វ័យប្រវត្តិ។ ផ្ទុកឡើងឯកសារបច្ចុប្បន្ននិងមុខងារនិងការទាញយកពីម៉ាស៊ីនបម្រើ។
ការដំឡើងនៅលើលីនុចត្រូវបានធ្វើដោយប្រើប្រាស់ពាក្យបញ្ជានេះ:
- ក្លូន https://github.com/sqlmapproject/sqlmap.git sqlmap Git-dev,
- cdsqlmap-dev /
- --wizard ./sqlmap.py ។
សម្រាប់ Windows គឺអាចប្រើបានជាជម្រើសបន្ទាត់ពាក្យបញ្ជាជាមួយនិងចំណុចប្រទាក់អ្នកប្រើក្រាហ្វិក។
ចាក់ jSQL
ចាក់ jSQL - ជាឧបករណ៍ឆ្លងវេទិកាសម្រាប់ការធ្វើតេស្តការប្រើប្រាស់នៃភាពងាយរងគ្រោះ SQL នេះ។ សរសេរនៅក្នុង Java ដូច្នេះប្រព័ន្ធនេះត្រូវតែបានដំឡើង JRE ។ អាចដោះស្រាយទទួលសំណើ, POST បាន, បឋមកថា, ខូគី។ វាមានចំណុចប្រទាក់ក្រាហ្វិកមួយងាយស្រួល។
ការដំឡើងកញ្ចប់កម្មវិធីនេះគឺមានដូចខាងក្រោម:
wget https://github.com/`curl -s https: //github.com/ron190/jsql-injection/releases | grep អ៊ី -o "/ron190/jsql-injection/releases/download/v[0-9]{1,2}.[0-9]{1,2}/jsql-injection-v[0-9] ។ {1,2} [0-9] {1,2} .jar '| ក្បាល n 1 '
កម្មវិធីបង្ហោះជាផ្លូវការគឺដោយប្រើពាក្យបញ្ជា -jar Java ./jsql-injection-v*.jar
ក្នុងគោលបំណងដើម្បីចាប់ផ្តើមការធ្វើតេស្តនៅលើបណ្តា SQL-ភាពងាយរងគ្រោះ, អ្នកត្រូវបញ្ចូលអាសយដ្ឋាននៅក្នុងវាលកំពូល។ ពួកគេគឺដាច់ដោយឡែកសម្រាប់ GET និង POST ។ ជាមួយនឹងលទ្ធផលវិជ្ជមាន, បញ្ជីតារាងដែលអាចប្រើបាននឹងបង្ហាញនៅក្នុងបង្អួចខាងឆ្វេង។ អ្នកអាចមើលពួកវានិងរៀនសម្ងាត់មួយចំនួន។
ផ្ទាំង«ទំព័រអ្នកគ្រប់គ្រង»ដែលត្រូវបានប្រើក្នុងការស្វែងរកបន្ទះរដ្ឋបាល។ នៅលើវាដោយមធ្យោបាយនៃការស្វែងរកដោយស្វ័យប្រវត្តិពុម្ពពិសេសប្រព័ន្ធកត់ត្រាប្រើដែលមានសិទ្ធិ។ ពីពួកគេអ្នកអាចទទួលបានគ្រាន់តែសញ្ញានៃការពាក្យសម្ងាត់មួយ។ ប៉ុន្តែលោកបានមាននៅក្នុងរបារឧបករណ៍នៃកម្មវិធីនេះ។
បន្ទាប់ពីការរកឃើញភាពងាយរងគ្រោះនិងចាក់ចាំបាច់ទាំងអស់សំណួរឧបករណ៍នេះនឹងអនុញ្ញាតម៉ាស៊ីនបម្រើឱ្យបំពេញនៅក្នុងឯកសាររបស់អ្នកឬផ្ទុយមកទាញយកវាពីទីនោះ។
ខ .7 SQLi Dumper
កម្មវិធីនេះ - ងាយស្រួលក្នុងការប្រើឧបករណ៍មួយសម្រាប់ការស្វែងរកនិងការអនុវត្តភាពងាយរងគ្រោះ SQL មួយ។ វាបង្កើតអង្គការសហប្រជាជាតិត្រូវបានផ្អែកលើអ្វីដែលហៅថាឌ័រកាស។ បញ្ជីឈ្មោះរបស់ពួកគេអាចត្រូវបានរកឃើញនៅលើអ៊ិនធឺណិ។ នាងឌ័រកាសសម្រាប់ SQL-ចាក់ - ទាំងនេះគឺជាពុម្ពពិសេសនៃសំណួរស្វែងរក។ ដោយមានជំនួយរបស់ពួកគេ, អ្នកអាចរកឃើញតាមរយៈការមានសក្តានុពលតំបន់ដែលងាយរងគ្រោះម៉ាស៊ីនស្វែងរកណាមួយ។
ឧបករណ៍សម្រាប់ការបណ្តុះបណ្តាល
Itsecgames.com លើតំបន់បណ្ដាញមានសំណុំនៃឧបករណ៍ពិសេសមួយដែលអនុញ្ញាតឱ្យឧទាហរណ៍បង្ហាញពីរបៀបធ្វើការចាក់ SQL មួយនិងសាកល្បងវា។ ក្នុងគោលបំណងដើម្បីទទួលបានផលប្រយោជន៍, វាគឺជាការចាំបាច់ដើម្បីទាញយកនិងដំឡើង។ បណ្ណសារនេះមានសំណុំនៃឯកសារដែលជារចនាសម្ព័ន្ធនៃតំបន់បណ្តាញនេះ។ ដើម្បីដំឡើងវានឹងត្រូវនៅក្នុងប្រព័ន្ធដែលមានស្រាប់នៃសំណុំនៃម៉ាស៊ីនបម្រើតំបន់បណ្ដាញ Apache, MySQL និងកម្មវិធី PHP ។
ស្រាយប័ណ្ណសារនៅក្នុងថតម៉ាស៊ីនបម្រើបណ្តាញអ្នកត្រូវតែចូលទៅកាន់អាសយដ្ឋានដែលបានបញ្ចូលនៅពេលដែលការដំឡើងនេះ កម្មវិធី។ ទំព័រមួយដែលមានការចុះបញ្ជីរបស់អ្នកប្រើ។ នៅទីនេះអ្នកត្រូវបញ្ចូលពរបស់អ្នកហើយចុច«បង្កើត»។ ការផ្លាស់ប្តូរអ្នកប្រើអេក្រង់ថ្មីមួយ, ប្រព័ន្ធរំលឹកអ្នកដើម្បីជ្រើសមួយក្នុងចំណោមករណីធ្វើតេស្តនេះ។ ក្នុងចំណោមពួកគេមានទាំងការរៀបរាប់ដោយការចាក់ថ្នាំនិងការធ្វើតេស្តជាច្រើនទៀតធាតុ។
វាគឺមានតំលៃពិចារណាឧទាហរណ៍នៃប្រភេទការចាក់ SQL មួយ GET / ស្វែងរក។ នៅទីនេះអ្នកចាំបាច់ត្រូវជ្រើសវាហើយចុច«ការ Hack »។ មុនពេលដែលអ្នកប្រើនឹងលេចឡើងនិងការស្វែងរកការយកតម្រាប់តាមគំរូតំបន់ខ្សែភាពយន្តមួយ។ ដើម្បីតម្រៀបភាពយន្តអាចមានរយៈពេលយូរ។ ប៉ុន្តែមានតែ 10 ឧទាហរណ៍អ្នកអាចព្យាយាមដើម្បីចូលក្នុងបុរសម្នាក់ដែក។ វានឹងបង្ហាញពីខ្សែភាពយន្តនេះបន្ទាប់មកតំបន់បណ្តាញធ្វើការ, និងតារាងដែលវាមាន។ ឥឡូវនេះយើងមានដើម្បីពិនិត្យមើលថាតើតម្រងស្គ្រីបតួអក្សរពិសេសនៅក្នុងសម្រង់ពិសេស។ ដើម្បីធ្វើដូចនេះបន្ថែម "នៅក្នុងរបារអាសយដ្ឋាន" ។ លើសពីនេះទៀតនេះត្រូវតែត្រូវបានធ្វើបន្ទាប់ពីចំណងជើងខ្សែភាពយន្តនេះ។ តំបន់បណ្តាញនេះនឹងផ្ដល់ឱ្យអ្នកនូវកំហុសកំហុស: អ្នកមានកំហុសក្នុងវាក្យសម្ព័ន្ធ SQL របស់អ្នកមួយ; ពិនិត្យមើលសៀវភៅដៃដែលទាក់ទងទៅនឹងកំណែម៉ាស៊ីនបម្រើ MySQL របស់អ្នកសម្រាប់វាក្យសម្ព័ន្ធសិទ្ធិក្នុងការប្រើនៅក្បែរ '%' 'នៅបន្ទាត់ទី 1 ដែលចែងថាតួអក្សរដែលនៅតែមិនត្រូវបានដោះស្រាយត្រឹមត្រូវនោះទេ។ ដូច្នេះអ្នកអាចព្យាយាមដើម្បីជំនួសការស្នើរសុំរបស់អ្នក។ ប៉ុន្តែយើងដំបូងត្រូវតែគណនាចំនួននៃវាល។ វាត្រូវបានប្រើសម្រាប់គោលបំណងនេះដោយ, ដែលត្រូវបានណែនាំបន្ទាប់ពីសម្រង់: http://testsites.com/sqli_1.php?title=Iron+Man 'បញ្ជាដោយ 2 - សកម្មភាពនិង = ការស្វែងរក។
ពាក្យបញ្ជានេះបង្ហាញតែអំពីខ្សែភាពយន្តនេះ, ដែលត្រូវបានចំនួននៃវាលគឺធំជាង 2 សហសញ្ញាទ្វេដងម៉ាស៊ីនបម្រើនោះសំណើប្រាប់ផ្សេងទៀតត្រូវតែត្រូវបានបោះបង់នោះទេ។ ឥឡូវនេះយើងមានដើម្បីតម្រៀបចេញ, បានដាក់ការបង្កើនសារៈសំខាន់ដែលវែងដូចដែលកំហុសនេះមិនត្រូវបានបោះពុម្ព។ នៅទីបញ្ចប់, វាប្រែថាវាលនេះនឹងមាន 7 ។
ឥឡូវនេះវាជាពេលវេលាដើម្បីទទួលបានអ្វីមួយដែលមានប្រយោជន៍ចេញពីមូលដ្ឋាន។ នឹងកែប្រែបន្តិចសំណើនេះនៅក្នុងរបារអាសយដ្ឋានដែលបាននាំយកវាទៅជាទម្រង់មួយ: សហជីព http://testsites.com/sqli_1.php?title=Iron+Man 'ជ្រើស 1, មូលដ្ឋានទិន្នន័យ () អ្នកប្រើ (), 4, ពាក្យសម្ងាត់, 6, 7 ពីអ្នកប្រើ - សកម្មភាព = ការស្វែងរកនិងការ។ ជាលទ្ធផលនៃការអនុវត្តន៍របស់ខ្លួននឹងបង្ហាញខ្សែអក្សរជាមួយសញ្ញាពាក្យសម្ងាត់ដែលអាចត្រូវបានបម្លែងយ៉ាងងាយស្រួលទៅជានិមិត្តសញ្ញាដែលអាចយល់បានដោយការប្រើសេវាមួយលើបណ្តាញនេះ។ ការ conjured ការតូចមួយនិងការកើនឡើងមួយជាមួយនឹងវាលឈ្មោះចូលអ្នកអាចទទួលបាននូវការចូលដំណើរការទៅធាតុរបស់នរណាម្នាក់, ដូចជាអ្នកគ្រប់គ្រងវែបសាយត៍នេះ។
ផលិតផលនេះមានការចាក់ប្រភេទសត្វប្រភេទទម្ងន់ដែលត្រូវអនុវត្ត។ វាគួរតែត្រូវបានចងចាំថាកម្មវិធីនៃជំនាញទាំងនេះនៅក្នុងបណ្តាញនៅលើតំបន់បណ្ដាញពិតប្រាកដអាចជាបទល្មើសព្រហ្មទណ្ឌ។
ចាក់និងកម្មវិធី PHP
តាមក្បួនមួយដែលមានកម្មវិធី PHP កូដនិងការទទួលខុសត្រូវចំពោះសំណើដំណើរការចាំបាច់មកពីអ្នកប្រើ។ ដូច្នេះនៅក្នុងកម្រិតនេះអ្នកត្រូវដើម្បីកសាងការការពារប្រឆាំងនឹងការចាក់ SQL មួយក្នុង PHP ។
ជាដំបូងសូមផ្តល់នូវគោលការណ៍ណែនាំសាមញ្ញមួយចំនួននៅលើមូលដ្ឋាននៃការដែលវាគឺជាការចាំបាច់ដើម្បីធ្វើដូច្នេះ។
- ទិន្នន័យត្រូវតែតែងតែត្រូវបានដំណើរការមុនពេលត្រូវបានដាក់ចូលទៅក្នុងមូលដ្ឋានទិន្នន័យ។ នេះអាចត្រូវបានធ្វើដោយប្រើពាក្យដែលមានស្រាប់ឬដោយរៀបចំសំណួរដោយដៃ។ នៅទីនេះផងដែរ, គួរតែយកទៅក្នុងគណនីដែលមានតម្លៃលេខគឺបានបម្លែងទៅប្រភេទដែលត្រូវបានត្រូវការ!
- ជៀសវាងការត្រួតពិនិត្យនានាជំរុញឱ្យរចនាសម្ព័ន្ធ។
ឥឡូវនេះបន្តិចអំពីច្បាប់នៃការចងក្រងសំណួរក្នុងកម្មវិធី MySQL ដើម្បីការពារប្រឆាំងនឹងការ SQL មួយ-ចាក់។
នៅក្នុងការគូរឡើងកន្សោមណាមួយដើម្បីសួរវាជាការសំខាន់ដើម្បីបំបែកទិន្នន័យដែលបានមកពីពាក្យគន្លឹះ SQL នេះ។
- * ជ្រើសពីតុដែលជាកន្លែងដែលឈ្មោះ = Zerg ។
នៅក្នុងការកំណត់រចនាសម្ព័ន្ធនេះ, ប្រព័ន្ធនេះអាចគិតថា Zerg - ឈ្មោះវាលណាមួយដូច្នេះអ្នកចាំបាច់ត្រូវដាក់វាក្នុងសញ្ញាសម្រង់។
- SELECT * FROM តារាងកន្លែងដែលឈ្មោះ = 'Zerg ។
ទោះជាយ៉ាងណា, មានដងនៅពេលតម្លៃខ្លួនវាមានសញ្ញាសម្រង់។
- SELECT * FROM តារាងកន្លែងដែលឈ្មោះ = 'កូតឌីវ័រ។
នៅទីនេះបានតែដោះស្រាយផ្នែកមួយនៃការកូតឃ, និងនៅសល់អាចត្រូវបានដឹងថាជាក្រុមមួយដែលជាការពិតណាស់មិនបាន។ ដូច្នេះកំហុសមួយបានកើតឡើង។ បន្ទាប់មកអ្នកត្រូវការពិនិត្យប្រភេទនៃទិន្នន័យនេះ។ ដើម្បីធ្វើដូចនេះ, ប្រើសញ្ញា - \ ។
- SELECT * FROM តារាងកន្លែងដែលឈ្មោះ = 'ឆ្មា-d \' វ័រ។
ទាំងអស់ខាងលើនេះសំដៅទៅលើជួរដេកនេះ។ ប្រសិនបើសកម្មភាពកើតឡើងដោយលេខមួយនោះវាមិនចាំបាច់សញ្ញាសម្រង់ឬសញ្ញាណាមួយឡើយ។ ទោះជាយ៉ាងណាពួកគេគួរតែត្រូវបានទាមទារដើម្បីដឹកនាំដោយបង្ខំទៅនឹងប្រភេទទិន្នន័យដែលចង់បាន។
មានអនុសាសន៍ថាឈ្មោះវាលត្រូវតែដាក់នៅក្នុង backquotes មាន។ និមិត្តសញ្ញានេះគឺនៅលើជ្រុងខាងឆ្វេងនៃក្តារចុច, រួមជាមួយនឹងសញ្ញា ~ "~" ។ នេះគឺដើម្បីធានាថាកម្មវិធី MySQL អាចសម្គាល់ត្រឹមត្រូវឈ្មោះវាលពីពាក្យគន្លឹះរបស់អ្នក។
ការងារថាមវន្តជាមួយនឹងទិន្នន័យ
ជាញឹកញាប់ណាស់, ដើម្បីទទួលបានទិន្នន័យណាមួយពីមូលដ្ឋានទិន្នន័យដោយប្រើសំណួរដែលបានបង្កើតថាមវន្ត។ ឧទាហរណ៍:
- SELECT * FROM តារាងទីកន្លែងចំនួន = '$ ចំនួន។
នៅទីនេះចំនួន $ អថេរត្រូវបានអនុម័តជាការកំណត់តម្លៃរបស់វាលនេះ។ តើមានអ្វីនឹងកើតឡើងប្រសិនបើវាទទួលបាន "កូតឌីវ័រ? កំហុស។
ដើម្បីជៀសវាងបញ្ហានេះ, ជាការពិតណាស់, អ្នកអាចរួមបញ្ចូលការកំណត់ "សម្រង់វេទមន្ត" ។ ប៉ុន្តែឥឡូវទិន្នន័យនឹងត្រូវបានដាក់បញ្ចាំងជាកន្លែងដែលចាំបាច់និងមិនចាំបាច់ទេ។ លើសពីនេះទៀតប្រសិនបើលេខកូដត្រូវបានសរសេរដោយដៃអ្នកអាចចំណាយពេលបន្តិចបន្ថែមទៀតដើម្បីបង្កើតភាពធន់ទ្រាំទៅបំបែកប្រព័ន្ធដោយខ្លួនវាផ្ទាល់។
សម្រាប់ការបន្ថែមឯករាជ្យនៃសញ្ញាមួយដែលអាចប្រើ mysql_real_escape_string ។
$ = mysql_real_escape_string លេខ ($ ចំនួន);
$ = mysql_real_escape_string ឆ្នាំ ($ ឆ្នាំ);
$ សំណួរ = "បញ្ចូលទៅក្នុងតារាង (ចំនួន, ឆ្នាំ, ថ្នាក់) តម្លៃ ( '$ ចំនួន', '$ ឆ្នាំ", 11) "។
ទោះបីជាលេខកូដនិងការកើនឡើងនៅក្នុងកម្រិតសំឡេងទាន់មានសក្តានុពលវានឹងធ្វើការជាច្រើនមានសុវត្ថិភាព។
កន្លែងដាក់
កន្លែងដាក់ - ប្រភេទមួយនៃសញ្ញាសម្គាល់ដែលប្រព័ន្ធទទួលស្គាល់ថានេះគឺជាកន្លែងដែលអ្នកត្រូវការដើម្បីជំនួសមុខងារពិសេស។ ឧទាហរណ៍:
$ អា = $ mysqli-> រៀបចំ ( "ស្រុកជ្រើសពីចំនួនកន្លែងដែលឈ្មោះ =?");
$ Sate-> bind_param ( "s", $ ចំនួន);
$ Sate-> ប្រតិបត្តិ ();
ផ្នែកនៃកូដនេះត្រូវចំណាយពេលសំណើមួយបណ្តុះបណ្តាពុម្ពនិងបន្ទាប់មកភ្ជាប់ចំនួនអថេរហើយប្រតិបត្តិវា។ វិធីសាស្រ្តនេះអនុញ្ញាតឱ្យអ្នកបំបែកដំណើរការសំណួរនិងការអនុវត្តរបស់ខ្លួន។ ដូច្នេះវាអាចត្រូវបានរក្សាទុកពីការប្រើប្រាស់នៃកូដដែលមានគំនិតអាក្រក់គឺ SQL- ។
តើអ្វីដែលអាចវាយប្រហារមួយ
ប្រព័ន្ធការពារ - កត្តាសំខាន់ខ្លាំងណាស់ដែលមិនអាចត្រូវបានមិនអើពើ។ ជាការពិតណាស់, តំបន់កាតអាជីវកម្មមួយដែលសាមញ្ញនឹងងាយស្រួលក្នុងការស្ដារ។ ហើយប្រសិនបើវាជាវិបផតថលធំ, សេវាវេទិកា? តើអ្វីទៅជាផលវិបាកប្រសិនបើអ្នកមិនគិតអំពីសន្តិសុខតើ?
ដំបូង, ពួក Hacker អាចបំបែកភាពសុចរិតនៃការទាំងពីរមូលដ្ឋាននោះនិងយកវាចេញទាំងស្រុង។ ហើយប្រសិនបើអ្នកគ្រប់គ្រងតំបន់បណ្ដាញឬ Hoster មិនធ្វើឱ្យបម្រុងទុក, អ្នកនឹងមានគ្រាលំបាក។ ខាងលើទាំងអស់, អ្នកផ្សេងបានបំបែកតំបន់តែមួយ, អាចទៅប្រកាសនៅក្នុងការផ្សេងទៀតដែលម៉ាស៊ីនបម្រើដូចគ្នា។
បន្ទាប់គឺការលួចទិន្នន័យផ្ទាល់ខ្លួនរបស់របស់ភ្ញៀវទេសចរ។ តើធ្វើដូចម្តេចដើម្បីប្រើប្រាស់ - អ្វីគ្រប់យ៉ាងដែលត្រូវបានកំណត់តែប៉ុណ្ណោះដោយការស្រមើលស្រមៃរបស់ពួក Hacker មួយ។ ប៉ុន្តែនៅក្នុងករណីណា, ផលវិបាកនឹងមិនត្រូវបានរីករាយខ្លាំងណាស់។ ជាពិសេសប្រសិនបើមានផ្ទុកពហិរញ្ញវត្ថុ។
ដូចគ្នានេះផងដែរវាយប្រហារអាចបញ្ចូលចូលគ្នាហើយបន្ទាប់មកមូលដ្ឋានទិន្នន័យបានដោយខ្លួនឯងចំពោះការវិលត្រឡប់ជំរិតទារប្រាក់របស់ខ្លួន។
អ្នកប្រើប្រាស់យល់ច្រឡំលើក្នុងនាមជាអ្នកគ្រប់គ្រងតំបន់បណ្តាញ, មនុស្សម្នាក់ដែលពួកគេមិនត្រូវ, អាចមានផលវិបាកអវិជ្ជមានថាជាការពិតការក្លែងបន្លំដែលអាចធ្វើបាន។
សេចក្តីសន្និដ្ឋាន
ពទាំងអស់នៅក្នុងអត្ថបទនេះត្រូវបានផ្ដល់សម្រាប់គោលបំណងក្រៅផ្លូវការប៉ុណ្ណោះ។ ប្រើវាតែត្រូវការសាកល្បងគម្រោងរបស់ខ្លួនផ្ទាល់ពេលវារកឃើញភាពងាយរងគ្រោះនិងការដោះស្រាយឱ្យពួកគេ។
ការសិក្សាជាច្រើនទៀតសម្រាប់ការនៅក្នុងជម្រៅនៃការបច្ចេកទេសនៃរបៀបដើម្បីធ្វើការចាក់ SQL មួយ, វាគឺជាការចាំបាច់ក្នុងការចាប់ផ្តើមជាមួយនឹងសមត្ថភាពស្រាវជ្រាវពិតប្រាកដនិងលក្ខណៈពិសេសនៃភាសា SQL នេះ។ សំណួរចងក្រង, ពាក្យគន្លឹះ, ប្រភេទទិន្នន័យនិងការប្រើប្រាស់របស់វាទាំងអស់។
ដូចគ្នានេះផងដែរមិនអាចធ្វើការដោយគ្មានការយល់ដឹងពីប្រតិបត្ដិការនៃមុខងារកម្មវិធី PHP និងធាតុ HTML ។ ការប្រើប្រាស់បឋមដែលងាយរងគ្រោះចំពោះការចាក់ថ្នាំពិន្ទុ - បន្ទាត់អាសយដ្ឋានមួយនិងវាលស្វែងរកនានា។ រៀនមុខងារកម្មវិធី PHP, វិធីសាស្រ្តនៃការអនុវត្តនិងលក្ខណៈពិសេសនេះនឹងរកវិធីដើម្បីជៀសវាងកំហុស។
វត្តមាននៃឧបករណ៍កម្មវិធីដែលបានត្រៀមខ្លួនជាស្រេចធ្វើឡើងជាច្រើនអនុញ្ញាតឱ្យសម្រាប់ការវិភាគនៅក្នុងជម្រៅលើភាពងាយរងគ្រោះបណ្តាស្គាល់។ មួយនៃផលិតផលពេញនិយមបំផុត - លីនុច Kali ។ រូបភាពនេះនៃប្រព័ន្ធប្រតិបត្តិការលីនុចដែលមានមូលដ្ឋាន, ដែលមានមួយចំនួនធំនៃឧបករណ៍និងកម្មវិធីដែលអាចអនុវត្តទូលំទូលាយនៃកម្លាំងវិភាគតំបន់។
អ្វីដែលអ្នកត្រូវដឹងពីរបៀបក្នុងការ hack តំបន់បណ្តាញ? វាជាការសាមញ្ញណាស់ - វាគឺជាការចាំបាច់ដើម្បីឱ្យមានការយល់ដឹងអំពីភាពងាយរងគ្រោះមានសក្តានុពលនៃគម្រោងឬគេហទំព័ររបស់អ្នក។ ជាពិសេសប្រសិនបើវាជាហាងអនឡាញជាមួយនឹងការទូទាត់លើបណ្តាញ, ដែលជាកន្លែងដែលការទូទាត់អាចទិន្នន័យអ្នកប្រើត្រូវបានសម្របសម្រួលដោយអ្នកវាយប្រហារ។
សម្រាប់ការសិក្សាវិជ្ជាជីវៈរបស់បុគ្គលិកសន្តិសុខពដែលមានស្រាប់នឹងអាចដើម្បីពិនិត្យមើលតំបន់បណ្តាញសម្រាប់ភាពខុសគ្នានៃលក្ខណៈវិនិច្ឆ័យនិងជម្រៅមួយ។ ចាប់ផ្តើមពីការចាក់ HTML ដែលមានលក្ខណៈសាមញ្ញនិងវិស្វកម្មសង្គមនិងការបន្លំ។
Similar articles
Trending Now