"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > भाग SQL इंजेक्शन श्रृंखला: उन्नत SQL इंजेक्शन तकनीकों की विस्तृत व्याख्या

भाग SQL इंजेक्शन श्रृंखला: उन्नत SQL इंजेक्शन तकनीकों की विस्तृत व्याख्या

2025-03-12 को पोस्ट किया गया
ब्राउज़ करें:794

Part SQL Injection Series: Advanced SQL Injection Techniques

वेमैप पेंटिंग टूल: यहां क्लिक करें TrixSec github: यहाँ क्लिक करें TRIXSEC टेलीग्राम: यहां क्लिक करें

]

हमारी SQL इंजेक्शन श्रृंखला के भाग 7 में आपका स्वागत है! यह किस्त

उन्नत SQL इंजेक्शन तकनीकों

में हमलावरों द्वारा नियोजित हो जाती है और उन्हें काउंटर करने के लिए कार्रवाई योग्य रणनीति प्रदान करती है। जैसे -जैसे खतरे विकसित होते हैं, इन परिष्कृत तरीकों को समझना आगे रहने के लिए महत्वपूर्ण है।

1। उन्नत SQL इंजेक्शन तकनीक


1.1। आउट-ऑफ-बैंड SQL इंजेक्शन

] इसके बजाय, वे डेटा को एक्सफिल्ट्रेट करने के लिए DNS या HTTP अनुरोधों पर भरोसा करते हैं।

यह काम किस प्रकार करता है: पेलोड एक क्वेरी को ट्रिगर करता है जो हमलावर द्वारा नियंत्रित सर्वर को डेटा भेजता है। उदाहरण के लिए:

उपयोगकर्ताओं से * का चयन करें जहां>
  • ] 2019 में, हमलावरों ने पारंपरिक डिफेंस को बायपास करने और सरकारी डेटाबेस से संवेदनशील डेटा को एक्सफिल्ट्रेट करने के लिए OOB तकनीकों का उपयोग किया।
]
  SELECT * FROM users WHERE>



The above payload exploits SQL Server's xp_dirtree to make an outbound DNS request.

  • Real-World Example:

    In 2019, attackers used OOB techniques to bypass traditional defenses and exfiltrate sensitive data from a government database.

  • Mitigation:

    • Block outbound DNS/HTTP requests from the database.
    • Use network monitoring tools to detect unusual outbound traffic.

1.2. Boolean-Based Blind SQL Injection

This method determines true or false conditions based on subtle changes in the application's behavior.

  • Example Payload:
  ' AND 1=1 -- True condition  
  ' AND 1=2 -- False condition  

1.3। समय-आधारित अंधा SQL इंजेक्शन
  • यह तकनीक डेटा का अनुमान लगाने में देरी का उपयोग करती है। हमलावर देखता है कि सर्वर को जवाब देने में कितना समय लगता है।

    उदाहरण पेलोड

    :
  • चयन करें अगर (1 = 1, नींद (5), 0); - 5 सेकंड से प्रतिक्रिया देरी

    • प्रभाव
    • :
    • धीमी गति से प्रश्न सर्वर के प्रदर्शन को अपंग कर सकते हैं, जिससे सेवा से इनकार हो सकता है।
]

अत्यधिक अनुरोधों को अवरुद्ध करने के लिए दर-सीमित का उपयोग करें। लंबे समय से चलने वाले प्रश्नों की निगरानी और समाप्ति।

  • 1.4। दूसरा-ऑर्डर SQL इंजेक्शन
  SELECT IF(1=1, SLEEP(5), 0); -- Delays response by 5 seconds  
  • उदाहरण परिदृश्य :

    हमलावर इस पेलोड को एक रूप में सम्मिलित करता है:
  • रॉबर्ट '); ड्रॉप टेबल उपयोगकर्ता; -

    एक समीक्षा के दौरान, एप्लिकेशन संग्रहीत पेलोड को निष्पादित करता है।
    • ]
    • ]
  • दुर्भावनापूर्ण स्क्रिप्ट के निष्पादन को रोकने के लिए अपरिवर्तनीय डेटाबेस फ़ंक्शन का उपयोग करें।

२। वास्तविक दुनिया के मामले का अध्ययन

  • ]

    घटना

    :
    • ]
    उन्होंने प्रमाणीकरण को बायपास किया और संवेदनशील ग्राहक डेटा तक पहुंच प्राप्त की।
    Robert'); DROP TABLE users; --  
    
    ]
    • नियमित रूप से पैच सॉफ्टवेयर को ज्ञात कमजोरियों को संबोधित करने के लिए।
    तृतीय-पक्ष प्लगइन्स और एक्सटेंशन पर सुरक्षा परीक्षण करें।
  • ]

    घटना
      :
    • ]
    • यह शोषण से पहले पकड़ा गया था, Shopify के बग बाउंटी कार्यक्रम के लिए धन्यवाद।
  • ]

नैतिक भेद्यता रिपोर्टिंग को प्रोत्साहित करने के लिए बग बाउंटी कार्यक्रमों में निवेश करें।

सख्त क्वेरी सत्यापन को लागू करने के लिए एपीआई गेटवे का उत्तोलन करें।

३। उन्नत रक्षात्मक रणनीतियाँ

3.1। गतिशील क्वेरी विश्लेषण

  • उन उपकरणों का उपयोग करें जो असामान्य पैटर्न या अत्यधिक जटिलता के लिए डेटाबेस क्वेरी की निगरानी करते हैं।
औजार

: SQLMAP: अपने सिस्टम का परीक्षण करने के लिए।

    एक्वा सुरक्षा या इम्पीवा: रनटाइम प्रोटेक्शन के लिए।

3.2। संदर्भ-जागरूक सत्यापन

संदर्भ के आधार पर सत्यापन नियम लागू करें:

]

    ]
  • 3.3। डेटाबेस-विशिष्ट कॉन्फ़िगरेशन

] ]

  • 3.4। निरंतर पैठ परीक्षण

हमलावर करने से पहले कमजोरियों की पहचान करने के लिए हमलों का अनुकरण करें।

]

४। व्यावहारिक चुनौती: शोषण सिमुलेशन और रक्षा

परिदृश्य
  • एक ई-कॉमर्स साइट उपयोगकर्ताओं को इनपुट फ़ील्ड का उपयोग करके उत्पादों की खोज करने की अनुमति देती है। परीक्षण करें और इसे सुरक्षित करें।
    • चरण
    • :
    SQL इंजेक्शन भेद्यता का पता लगाने के लिए एक पेलोड इंजेक्ट करें:

'या' 1 '=' 1 ' - ]

    रक्षात्मक निर्धारण
  • तैयार किए गए कथन को लागू करें:
  • ] $ stmt-> निष्पादित (['नाम' => $ product_name]);
  • एक सख्त पैटर्न का उपयोग करके इनपुट को मान्य करें:

आयात पुनः पैटर्न = r "^[a-za-z0-9] $" यदि re.match (पैटर्न, user_input) नहीं है: valueerror ("अमान्य इनपुट!") बढ़ाएं

  • ५। SQL इंजेक्शन हमलों में रुझान
  • ५.१। क्लाउड शोषण
]

५.२। एपीआई कमजोरियां

  • microservices के उदय के साथ, खराब तरीके से डिज़ाइन किए गए API हमलावरों के लिए एक प्रवेश बिंदु हैं।
  • 5.3। AI- चालित हमले

]

अंतिम विचार

यह उन्नत सत्र SQL इंजेक्शन की विकसित प्रकृति और सक्रिय रक्षा के महत्व पर प्रकाश डालता है। अत्याधुनिक तकनीकों को समझने और मजबूत सुरक्षा उपायों को लागू करके, आप शोषण के जोखिम को काफी कम कर सकते हैं।

~ trixsec

विज्ञप्ति वक्तव्य इस लेख को पुन: प्रस्तुत किया गया है: https://dev.to/trixsec/how-to-detect-and-defend-against-sql-njection- attacks-backs-chart-6-advanced-sql- inspent-techniques-20mf?1 यदि कोई उल्लंघन है, तो कृपया अध्ययन करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3