क्या एक SQL इंजेक्शन हमला है / Vulnerability?
यह अकसर किये गए सवाल का जवाब k4thryn ने लिखा था:
एक SQL इंजेक्शन भेद्यता जब एक खराब-लिखा कार्यक्रम उपयोगकर्ता का उपयोग करता है हो सकता है, पहली बार निवेश मान्य कर के बिना एक डेटाबेस क्वेरी में डेटा प्रदान की. यह सबसे अक्सर गतिशील सामग्री के साथ वेबपेजों में पाया जाता है. इसमें पूर्ण प्रकटीकरण वेबसाइटों से अलग अनुप्रयोगों के लिए इस विषय पर कुछ उत्कृष्ट tutorials और वर्णनात्मक लेख, साथ ही कई भेद्यता पोस्टिंग कर रहे हैं.
SQL इंजेक्शन का एक सरल उदाहरण जिसमें आप एक उपयोगकर्ता नाम और पासवर्ड प्रदान एक मूल HTML फार्म लॉगिन है:
method="post" <form action="process_login.php"> <input type="text" name="username"> <input type="password" name="password"> </ फार्म>
HTML के इस स्निपेट को देखते हुए एक काम करने के लिए "process_login.php" के लिए इसे बनाने के लिए और एक डेटाबेस क्वेरी निष्पादित किया जाएगा पटकथा के लिए सबसे आसान (और बेकार) तरीका वंश का अन्वेषण कर सकते हैं कि इस तरह दिखता है:
"आईडी चुनें से लॉगिन कहाँ = उपयोक्तानाम '$ उपयोगकर्ता नाम' और पासवर्ड = '$ पासवर्ड' ";
उन परिस्थितियों में, यदि चर "$ उपयोगकर्ता नाम" और "$ पासवर्ड" सीधे उपयोगकर्ता के इनपुट से प्रवेश लिपि को आसानी से कि एक वैध कूटशब्द ने SQL बयान के वाक्यविन्यास के साथ खेल के द्वारा प्रदान की गई है विश्वास में बरगलाया जा सकता है ले लिया है. निम्न स्ट्रिंग तो पासवर्ड के रूप में प्रदान किया गया:
'या''='
और हम इस उपयोगकर्ता नाम के रूप में "बॉब" दे दी है. एक बार चर, इस प्रश्न के ऊपर इस तरह दिखेगा interpolated हैं:
"आईडी चुनें से लॉगिन जहाँ उपयोगकर्ता नाम = 'बॉब' और पासवर्ड =''या''='' ";
यह प्रश्न एक पंक्ति लौट आएगी क्योंकि अंतिम खंड:
... या''=''
हमेशा सच का मूल्यांकन करने के लिए होगा (एक खाली स्ट्रिंग हमेशा एक खाली तार करने के लिए) बराबर है.
रोकथाम SQL इंजेक्शन हमलों
सबसे आम तरीकों SQL इंजेक्शन vunerability इस तरह का रोकने के लिए एक उद्धरण जैसे खतरनाक अक्षरों के लिए उपयोगकर्ता के इनपुट की जाँच करने के लिए कर रहे हैं, और जो वास्तव में क्या किसी भी उपयोगकर्ता से पहले की अपेक्षा करने के लिए डेटा प्रदान डाटाबेस तैयार बयान बताओ, का प्रयोग करके इसे पारित करने के लिए है.
|
जोखिम प्रबंधन Dummies के लिए
नवीनतम ब्लॉग पोस्ट
- SourceForge बनाम Freshmeat






