SQL Injection kya hai और कैसे काम करता है | What is SQL Injection in hindi

नमस्कार आपका Technovichar में स्वागत है। इस आर्टिकल का Topic है SQL Injection kya hai  और कैसे काम करता है | What is SQL Injection in hindi। इस Article के माध्यम से हम SQL Injection के बारेमे ज्यादा से ज्यादा जानकारी आप तक पहुचायेंगे। तो चलिए शुरू करते है। 


SQL_Injection_kya_hai _और_कैसे_काम_करता_है


Page Content


1. SQL Injection kya hai ??(What is SQL Injection in Hindi)


2.SQL Injection कैसे काम करता है? (How SQL Injection Work)


3. SQL Injection का उदाहरण (Example of SQL Injection)


4. SQL Injection को कैसे रोकें?(How to Prevent SQL Injection) 


5. Conclusion 



 

SQL Injection kya hai ??

(What is SQL Injection in Hindi)



SQL Injection एक प्रकार की Code Injection technique है जो Database को Destroy कर सकती है।


इस technique में, SQL Statement  में Malicious Code  को Web Page  के Input  में  Insert किया जाता है। ये Statement एक Web Application के Behind Database Server को Control करते हैं।


Attackers , Security applications को Bypass करने के लिए SQL Injection Vulnerability  का Use कर सकते हैं। वे एक Web Page या  Web  Application  के Authentication and Authorization को Pass सकते हैं और पूरे SQL Database  के Content को Receive कर सकते हैं। वे Database में Record adding, Modifying  और Remove के लिए भी SQL Injection का Use कर सकते हैं।


SQL Injection Vulnerability किसी भी Website  या Web  Application को influenced  कर सकती है जो किसी SQL Database  जैसे MySQL, Oracle, SQL  Server  या अन्य का Use करता है।



SQL Injection कैसे काम करता है?

(How SQL Injection Work)



SQL Injection Attack करने के लिए, एक Attacker को पहले Web  Page  या Web  Application के अंदर Vulnerable User Inputs  Find करना चाहिए। एक Web  Page  या Web  Application जिसमें SQL Injection Vulnerability है, ऐसे Input  का Use सीधे SQL Query में करता है। Attacker Input Content बना सकता है। इस तरह के Content को अक्सर एक Malicious payload कहा जाता है और यह Attack का Key Part है। Attackers इस Content को भेजने के बाद, Database में malicious SQL commands execute होते हैं।


SQL एक Query Language है जिसे Data Store किए गए  Relational Database को Manage करने के लिए बनाया गया था। आप इसका उपयोग Data  Access, Modification and Removal of Data के लिए कर सकते हैं। कई Web  Application और Website  सभी Data को SQL Database में Store करते हैं। In Some Case, आप Operating System Commands  चलाने के लिए SQL Command का भी Use कर सकते हैं। इसलिए, एक सफल SQL Injection Attack  के बहुत गंभीर परिणाम हो सकते हैं।



Example of SQL Injection


SQL  Injection का उदाहरण :


 

1. “OR 1 = 1” Statement to the password field.



Following is an example of SQL injection vulnerability works around a simple web application having two input fields,


            1. username


            2. password


This example has a table named users with the columns username and password 


uname = request.POST[‘username’]


passwd = request.POST[‘password’]


query = “SELECT id FROM users WHERE username=’ “+uname+’ “ AND password=’ “+passwd+” ‘


 database.execute(query)

                                                                     

यहाँ Two Input Field - एक username के लिए और दूसरा password SQL Injection  के लिए Unsafe है।


Attacker इन fields का Use कर सकता है और Database  तक access प्राप्त करने के लिए SQL query  को बदल सकता है।


वे  password field  पर एक trick का Use कर सकते हैं। They could add


OR 1 = 1


Statement to the password field.



As a result the query would become (assuming username as ‘user1’ and password = ‘password’)


 

SELECT id FROM users WHERE username = ‘user1’ AND password = ‘password’ OR 1 = 1



OR 1 = 1 Statement के कारण, Username और password  से कोई फर्क नहीं पड़ता कि Username और Password Correct है या नहीं । इसका मतलब है कि भले ही हम किसी भी Wrong Username या Password को Fill करते हैं, फिर भी query को OR 1 = 1 Part के कारण showed off किया जाएगा जो सच हो जाता है।


Above Query से Users Table मेसे First ID Return होती है। जो Normally Administrator की होती है। इस तरिके से Attacker Authentication को Bypass करता है और साथ ही साथ Administrator Privileges ले लेता है जिससे वह पूरा database Access कर सकता है। 



2. Based on “=“ statement :-


 

एक attacker को user names और passwords को database  में केवल user name or password field में  ""OR " " = " Insert करने  से मिल सकता है

 

SELECT id FROM users WHERE username = ‘user1’ AND password = ‘password’ OR ‘=’


 

The SQL above is valid and will return all rows from the "Users" table, since OR ""="" is always TRUE.



3. Union - based SQL Injection :-


जब कोई Application ,SQL Injection के लिए vulnerable होता है और Query के Result Application के responses के अंदर  वापस आ जाते हैं, तो UNION keyword  का Use Database में  other tables  से Data प्राप्त करने के लिए किया जा सकता है। यह  SQL Injection UNION हमले के परिणामस्वरूप होता है।


UNION keyword आपको एक या अधिक SELECT queries execute  करने देता है और परिणामों को  original query में जोड़ता है। 


For example:

SELECT a, b FROM table1 UNION SELECT c, d FROM table2


This SQL query will return a single result set with two columns, containing values from        columns a and b in table1 and columns c and d in table2.


For a UNION query to work, two key requirements must be met 

(SQL Injection करने के लिए एक UNION Carry के लिए, दो Main requirements को पूरा किया जाना चाहिए):


1.The individual queries must return the same number of columns.

2.The data types in each column must be compatible between the individual queries.


To carry out an SQL injection UNION attack, you need to ensure that your attack meets these two requirements. This generally involves figuring out:


1.How many columns are being returned from the original query?

2.Which columns returned from the original query are of a suitable data type to hold the results from the injected query?



 4. Batched SQL Statement based:-


Most databases , batched SQL Statement को  support करते हैं।


SQL Statement का एक batch दो या अधिक SQL Statement का एक group है, जो semicolons द्वारा अलग किया जाता है।


SQL statement below will return all rows from the "Users" table, then delete the "Record" table.


SELECT * FROM Users; DROP TABLE Record

 


How to prevent SQL Injection?

(SQL Injection को कैसे रोकें??)

 

SQL Injection को रोकने का एकमात्र तरीका , हर Input  Field को Validate करना है।

 

एक और तरीका है Parameterized Query का Use करना। इस Parameterized Query को Prepared Statement कहा जाता है। इस तरीके से, Application Code  Direct Input का Use कभी नहीं करता है।


Web Application Firewalls  (WAF) का Use SQL को filter  करने के लिए भी किया जाता है।


Conclusion


हमें उम्मीद है की आपको आज का हमारा यह यानी SQL Injection kya hai  और कैसे काम करता है | What is SQL Injection in hindi पूरी तरह से समज में आया होगा और मुझे यकीन है की आपको इस Article को पढ़कर काफी जानकारी भी मिली होगी.


यदि आपको हमारा यह लेख  SQL Injection kya hai  और कैसे काम करता है | What is SQL Injection in hindi पसंद आया है तो आप इसे अपने दोस्तों और अपने सोशल मीडिया पर शेयर जरुर करे. जिससे वह लोग भी इस जानकारी का फायदा उठा सके और यह जान सके .


मुझे यकीन है की अब तक आपने यह लेख  SQL Injection kya hai  और कैसे काम करता है | What is SQL Injection in hindi  शेयर भी कर दिया होगा. हमारी हंमेशा से ही यह कोशिश रहती है की हम हमारे Readers को एकदम सही और सटीक जानकरी प्रदान करे. ताकि आप लोगो को  इन्टरनेट पर कही और जा कर Search करने की जरुरत न पड़े और आपका समय भी बच सके.


अगर अभी भी आपके मन में  SQL Injection kya hai  और कैसे काम करता है | What is SQL Injection in hindi इसके बारे में कोई सवाल या डाउट है तो आप हमें कमेंट बॉक्स में जरुर बताये. हम आपको जानकारी देने की पूरी कोशिश करेंगे.

Maintag : SQL Injection kya hai,SQL Injection कैसे काम करता है,What is SQL Injection in hindi , Example of SQL Injection, How SQL Injection Work




You Might Also Like


Post a Comment

0 Comments