2009-11-30 18 views
9

क्या यह पुष्टि करने का कोई तरीका है कि SQL इंजेक्शन के माध्यम से सुरक्षा का एक विशेष उल्लंघन किया गया था? हमले के बादएसक्यूएल इंजेक्शन की पुष्टि कैसे करें

+0

आपको यकीन है कि यह हुआ है, या सिर्फ संदिग्ध है? – kurast

+0

वास्तव में केवल डेटाबेस में मौजूद विवरण हैं .. इसलिए मेरे दिमाग में पहली बात यह थी कि डब्स को हैक किया गया हो सकता है। – Sachindra

+0

क्या आपने कोशिश की है कि मैंने क्या प्रस्तावित किया? – kurast

उत्तर

1

पहले से ही हुआ है? नहीं। वहाँ नहीं है आपको संभावित जोखिम के लिए अपने सभी एसक्यूएल सेरेवर एक्सेस पॉइंट की जांच करनी होगी। tere कुछ उपकरण हैं जिनका आप उपयोग कर सकते हैं। एसक्यूएल इंजेक्शन टूल्स सेक्शन के तहत here देखें।

0

शायद एक विश्वसनीय तरीका SQL लॉग फ़ाइलों का विश्लेषण कर रहा है। उन लोगों को डीबीए द्वारा किया जाना चाहिए जो चीजों को जल्दी से खोज सकते हैं क्योंकि लॉग का आकार बड़ा होगा।


उनको रोकने के लिए बेहतर है।

इसके लिए कुछ tools हैं लेकिन सबसे अच्छा डेवलपर का दिमाग है।

एक साधारण नियम के साथ चिपकाएं - SQL क्वेरी उत्पन्न करते समय हमेशा पैरामीटर का उपयोग करें।
बस कोड समीक्षा करें और यदि आपको स्ट्रिंग कोकेटेनेशन मिलती है - यह SQL इंजेक्शन के लिए पहली और अत्यधिक संभव जगह है।

+0

अनुरोध पिछले काल का उपयोग करता है, मुझे संदेह है कि यह पहले ही हो चुका है। – lorenzog

+0

हां। तुम सही हो। मैंने थोड़ा सा जवाब अपडेट किया है। –

-2

आप सभी http अनुरोध लॉग कर सकते हैं और अनुरोधित पृष्ठों को जीईटी/पोस्ट एसक्यूएल इंजेक्शन ट्राउटआउट के लिए देख सकते हैं।

7

पर कोई आसान तरीका नहीं है, लेकिन यदि आपने SQL सर्वर को सक्षम किया है तो आप प्रत्येक एकल SQL स्टेटमेंट को लॉग इन करने के लिए उपयोग करते हैं, तो मैं यही करूँगा।

आम तौर पर, जब मैं एसक्यूएल कहीं इंजेक्ट करता हूं, तो मैं इनमें से एक को पूर्व स्ट्रिंग को समाप्त करने के बाद कहां से गुजरने के लिए अपने हमेशा के सही कथन के रूप में उपयोग करता हूं।

1=1 
0=0 

दोनों के रूप में इस्तेमाल किया जा रहा:

blahblahblah' or 1=1 -- 

आप हर रोज कोड में इस खंड का उपयोग नहीं होता। तो यदि आप अपने इतिहास में इनमें से किसी एक को खोजते हैं, तो यह एक उच्च उम्मीदवार है। एसक्यूएल इतिहास का परीक्षण करें खोजने के लिए:

(space)(number)(optional spaces)(equal)(optional spaces)(same number)(space) 

ध्यान रखें कि है heuristical रखें, और हमेशा काम नहीं करेगा, लेकिन लिए एक ही रास्ता हो सकता है एक संकेत देने के बाद यह हुआ था। इसके अलावा, यदि आप एसक्यूएल इंजेक्शन के बारे में संदेह में हैं, तो आपको स्ट्रिंग कॉन्सटेनेशन और पैरामीटर के उपयोग के लिए कोड जांचना चाहिए।

1

POST अनुरोधों को लॉग करने के लिए mod_security का उपयोग करें और अब से संदिग्ध गतिविधि को लॉग/बंद करने के लिए घुसपैठ जांच प्रणाली स्थापित करें। यदि आप केवल उल्लंघन बिंदुओं की तलाश में हैं तो प्रत्येक SQL अनुरोध को लॉग ऑन करना एक ओवरहेड है।

इन दिनों आईडीएस के लिए ओपन सोर्स विकल्प हैं। मैं अपने सभी PHP अनुप्रयोगों के लिए PHPIDS का उपयोग करता हूं।

1

एसक्यूएल इंजेक्शन तब भी हो सकता है जब आप किसी डेटाबेस को क्वेरी में वापस भेज दें।

SQL Injection

संबंधित मुद्दे