SQL Injection in Hindi

What is SQL Injection

SQL Injection एक प्रकार की web security vulnerability है जिसका उपयोग करके attacker , malicious SQL statements को execute करता है। इन malicious SQL स्टेटमेंट की सहायता से attacker वेब एप्लिकेशन के डेटाबेस सर्वर को control करता है। Attacker SQL Injection vulnerabilities का उपयोग करके वेब एप्लीकेशन या वेब पेज security को बाईपास करके SQL Database के सारे content (records) को retrieve कर सकता है। या फिर डेटाबेस में records को modify , delete या नए रिकार्ड्स add कर सकता है।
Web application vulnerabilities में SQL Injection सबसे पुराना और सबसे ख़तरनाक vulnerabilities है। web application security मे खतरे के रूप में SQL injection को OWASP organization (Open Web Application Security Project) ने 2017 मे टॉप 10 vulnerabilities की list में शामिल किया।

What is the impact of a successful SQL injection attack?

एक Successful SQL injection attack किसी भी website या web application को affect कर सकती है जो SQL Database जैसे की MySQL, Oracle, SQL Server आदि का उपयोग करती है। attacker एक Successful SQL injection अटैक करके आपके sensitive डाटा को unauthorized तरीके से access करके customer information, personal data, trade secrets, passwords , Bank details आदि को प्राप्त कर सकते है।

Types of SQL injection

1. In-band SQLi

In-band SQL इंजेक्शन ,SQL Injection attacks में सबसे common और आसानी से उपयोग किया जाने वाला attack है। इन-बैंड SQL इंजेक्शन तब होता है जब एक attacker , attack शुरू करने और result gather करने के लिए एक ही communication channel का उपयोग करता है। इन-बैंड SQL इंजेक्शन के दो प्रकार के होते है।

  • Error-based SQLi
  • Union-based SQLi

2. Inferential SQLi (Blind SQLi)

Inferential SQL Injection एक प्रकार का एसक्यूएल इंजेक्शन है। जहां attacker को attack किए गए डेटाबेस से स्पष्ट response नहीं मिलता है और तब इसके बजाय attacker payloads भेज कर डेटाबेस सर्वर और एप्लिकेशन के behavior को observ करके step-by-step डेटाबेस structure को reconstruct करता है। Inferential SQL इंजेक्शन के दो प्रकार के होते है।

  • Boolean-based (content-based) Blind SQLi
  • Time-based Blind SQLi

3. Out-of-band SQLi

Out-of-band SQL इंजेक्शन (OOB SQLi) एक प्रकार का SQL इंजेक्शन है जहां attacker को same communication channel पर attack किए गए एप्लिकेशन से response नहीं मिलती है, बल्कि वह एप्लिकेशन से डाटा को किसी remote endpoint पर भेजता है।

How to Prevent an SQL Injection

web applications में SQLi vulnerabilities को रोकने का एकमात्र तरीका input validation और Parameterized queries (जिन्हें prepared statements के रूप में भी जाना जाता है) का उपयोग करना है। Parameterized queries लगभग हर programming language में available हैं। Parameterized queries आपके string concatenation को avoid करते है और इसके बजाय SQL क्वेरीज़ में पैरामीटर को सुरक्षित रूप से पास करते हैं। यदि आपकी प्रोग्रामिंग भाषा parameterized queries को support नहीं करती है लेकिन आपका डेटाबेस इंजन stored procedures को support करता है, तो आप parameterized queries बजाय prepared statements के साथ stored procedures का उपयोग कर सकते हैं।
अपने production sites पर database errors की visibility को turn off करना भी एक अच्छा विचार है।


Related Blog Articles