2010-08-09 15 views
10

मैं वर्तमान php में एक वेबसाइट कर रहा हूँ, हम एक सत्र चर का उपयोग कर रहे प्रत्येक उपयोगकर्ता की अनुमति के स्तर को स्टोर करने के (मुझे पता है कि कैसे नहीं करना चाहती) करना संभव है।यह "समुद्री डाकू" एक सत्र चर

उदाहरण के लिए, यदि आप में से किसी एक वेबसाइट पर जाना होगा, आप स्वचालित रूप से एक सत्र चर "सदस्य" का एक मूल्य के साथ मिलेगा।

क्या मैं पूछ रहा हूँ है: "सदस्य"

मैं नहीं कह रहा हूँ के बजाय एक हमलावर वेबसाइट पर जाने के लिए और "व्यवस्थापक" के लिए सत्र चर के मूल्य को संशोधित करने के लिए क्या यह संभव है कि कैसे, बस अगर यह संभव है, और यदि ऐसा है तो हमलावर को किस तरह की विशेष पहुंच की आवश्यकता होगी (उदा: कोड तक पहुंच, ....)

मेरे पास एक वैकल्पिक समाधान है, जो अनुमति मूल्य को प्रतिस्थापित करना होगा टोकन जो समय के साथ समाप्त हो जाएगा।

दूसरा समाधान लागू करने के लिए लंबा तरीका है।

आपकी मदद के लिए धन्यवाद!

+8

क्यों नहीं करते आप को पता है कि कैसे चाहते हैं ? लोगों को ऐसा करने से रोकने के लिए कुछ कैसे किया जाता है यह जानना आवश्यक है। ऐसा नहीं है कि हमारे पास एक थॉट पुलिस है जो आपको चीजों का शोषण करने के बारे में जानने के लिए जुर्माना लगाती है। –

+12

@ मत्ती वह शायद "हम हैकर्स की मदद नहीं करते" डाउनवॉट्स को छोड़ने की कोशिश कर रहे थे, जब भी कोई इस प्रकार के प्रश्न पूछता है –

+1

@ माइकल मोरोज़ और मैं वोट दिए गए सवालों के जवाबों को कम करता हूं और मैं अपने जवाब पर वोट कम करता हूं। – rook

उत्तर

11

नहीं है, जब तक कि:

  • हमलावर सत्र चर के भंडारण के लिए उपयोग किया था (आमतौर पर सर्वर फाइल सिस्टम, लेकिन यह भी जैसे एक डेटाबेस हो सकता है) एक और अधिक की हमलावर intercepted a session cookie
  • विशेषाधिकार प्राप्त उपयोगकर्ता।
  • हमलावर ने एक और विशेषाधिकार प्राप्त उपयोगकर्ता के सत्र को सफलतापूर्वक ठीक किया (session fixation हमलों को देखें)।
+0

महान लिंक धन्यवाद – Ormoz

3

जो आपने वर्णन किया है उससे मुझे लगता है कि आप कुकी में अनुमति संग्रहीत नहीं कर रहे हैं। इसलिए, उन्हें पहुंचने का एकमात्र तरीका एक प्रशासक सत्र आईडी को अनुमानित/बलपूर्वक करना होगा या कुछ क्रॉस-साइट स्क्रिप्टिंग हमले का उपयोग करना होगा। यदि आपकी सत्र आईडी पर्याप्त रूप से लंबी है तो पहली विधि को पूरा करना बहुत कठिन होगा।

+0

मैं कुकी का उपयोग कभी भी नहीं कर रहा हूं। त्वरित उत्तर के लिए धन्यवाद! –

+7

@Lobsterm क्या आप स्पष्ट रूप से क्वेरी स्ट्रिंग में सत्र आईडी पास कर रहे हैं? अन्यथा आप कुकीज़ का उपयोग कर रहे हैं चाहे आप इसे महसूस करें या नहीं। – meagar

2

आपका सत्र चर सुरक्षित होना चाहिए क्योंकि सत्र सर्वर पर संग्रहीत है। हालांकि, एक विशिष्ट क्लाइंट के साथ एक विशिष्ट क्लाइंट को जोड़ने के लिए, आमतौर पर एक कुकी सेट होती है जिसमें एक सत्र आईडी होती है, और एक हमलावर अपने सत्र आईडी कुकी (या तो ब्रूट फोर्स द्वारा या किसी भी तरह से) द्वारा एक अलग उपयोगकर्ता के सत्र तक पहुंचने का प्रयास कर सकता है किसी और की कुकी को कैप्चर करना)।

2

यह कैसे आप सत्र भंडारण कर रहे हैं पर निर्भर करता है। अगर यह यूआरएल में है, तो हाँ। यदि यह एक कुकी में है, तो शायद।

2

वहाँ अपने अनुप्रयोग में एक सुरक्षा दोष जब तक, किसी ने न सिर्फ ऊपर और सत्र चर बदल सकते हैं - उन सर्वर पर जमा हो जाती है, और ग्राहक उन्हें कभी के लिए सीधी पहुँच है।

वे क्या कर सकते हैं, हालांकि, http://your.site.com/?PHPSESSID=2342f24502ade525 की तरह एक URL पर जाकर उनके सत्र आईडी बदल रहा है। दुर्व्यवहार की संभावना दो गुना है: (1) अगर उन्हें लॉग-इन उपयोगकर्ता की सत्र आईडी को किसी भी तरह से पता चला, तो सत्र आईडी उन्हें उस उपयोगकर्ता का प्रतिरूपण करने देगी, जिससे उन्हें उपयोगकर्ता की सभी पहुंच मिलती है; और (2) यदि वे किसी ऐसे यूआरएल में जाने के लिए किसी को धोखा दे सकते हैं जिसमें सत्र आईडी संलग्न है, और वह व्यक्ति लॉग इन करता है, तो अब वे उपयोगकर्ता की सत्र आईडी (क्योंकि उन्होंने इसे प्रदान किया है!), और हम वापस आ गए हैं (1))।

3

उच्च जोखिम एक हमलावर एक सक्रिय सत्र चोरी से आता है, तो आप इसके बारे में यहाँ पा सकते हैं:

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