11211 - Pentesting Memcache
प्रोटोकॉल सूचना
wikipedia से:
मेमकैश (उच्चारण: मेम-कैश्ड, मेम-कैश-डी) एक सामान्य उद्दिष्ट वितरित मेमरी कैशिंग सिस्टम है। यह अक्सर डाटाबेस ड्राइवन वेबसाइटों को तेज करने के लिए उपयोग किया जाता है जिसमें डेटा और ऑब्ज
जांच
मैन्युअल
Memcache इंस्टेंस में सहेजी गई सभी जानकारी को बाहर लेने के लिए आपको करना होगा:
स्लैब्स ढूंढें जिनमें सक्रिय आइटम्स हैं
पहले पहचाने गए स्लैब्स की कुंजी नामें प्राप्त करें
कुंजी नामें प्राप्त करके सहेजी गई डेटा को बाहर लें
ध्यान रखें कि यह सेवा केवल एक कैश है, इसलिए डेटा दिखाई देने और गायब होने की संभावना है।
मैनुअल2
स्वचालित
मेमकैश कुंजियों को डंप करना
मेमकैश के क्षेत्र में, डेटा को स्लैब्स द्वारा संगठित करने में सहायक प्रोटोकॉल मेमकैश के लिए विशेष कमांड होते हैं, हालांकि ध्यान देने योग्य प्रतिबंध हैं:
कुंजियाँ केवल स्लैब क्लास द्वारा डंप की जा सकती हैं, जो समान सामग्री के आकार की कुंजियों को समूहित करता है।
प्रति स्लैब क्लास के लिए एक पृष्ठ की सीमा होती है, जो 1MB डेटा के समान होती है।
यह सुविधा अनौपचारिक है और किसी भी समय बंद की जा सकती है, जैसा कि समुदाय फोरम में चर्चा की गई है।
केवल 1MB डेटा को डंप करने की सीमा, संभावित गीगाबाइटों के डेटा से, विशेष रूप से महत्वपूर्ण है। हालांकि, यह कार्यक्षमता अभी भी विशेष आवश्यकताओं पर निर्भर करती है कि कुंजी उपयोग पैटर्न में अंतर्दृष्टि प्रदान कर सकती है। उन लोगों के लिए जो यांत्रिकियों में कम रुचि रखते हैं, उपकरण खंड में एक यात्रा उपकरण उपलब्ध है जो व्यापक डंपिंग के लिए है। वैकल्पिक रूप से, मेमकैश्ड सेटअप के साथ सीधा बातचीत के लिए टेलनेट का उपयोग करने की प्रक्रिया नीचे दी गई है।
कैसे काम करता है
मेमकैश की स्मृति संगठन महत्वपूर्ण है। "-vv" विकल्प के साथ मेमकैश को प्रारंभ करने पर, यह उत्पन्न करते हैं, जैसा नीचे दिखाया गया है:
वर्तमान में मौजूद सभी स्लैब्स को प्रदर्शित करने के लिए निम्नलिखित कमांड का उपयोग किया जाता है:
एकल कुंजी को मेमकैश्ड 1.4.13 में जोड़ना दिखाता है कि स्लैब क्लासें कैसे पूरी होती हैं और प्रबंधित की जाती हैं। उदाहरण के लिए:
की जोड़ने के बाद "stats slabs" कमांड का निष्पादन स्लैब उपयोग के विस्तृत सांख्यिकी देता है:
यह आउटपुट सक्रिय स्लैब प्रकार, उपयोग किए गए चंक्स, और परिचालन सांख्यिकी को दर्शाता है, जो पठन और लेखन कार्यों की कुशलता के बारे में अंदाजे प्रदान करता है।
एक और उपयोगी कमांड, "stats items", निकास, मेमोरी सीमाएं, और आइटम जीवनचक्र पर डेटा प्रदान करता है:
डंपिंग कुंजियाँ
1.4.31 से पहले संस्करणों के लिए, कुंजियाँ स्लैब क्लास का उपयोग करके डंप किए जाते हैं:
उदाहरण के लिए, क्लास #1 में एक कुंजी डंप करने के लिए:
मेमकैश कुंजियों को डंप करना (संस्करण 1.4.31+)
मेमकैश संस्करण 1.4.31 और उससे ऊपर, एक नया, सुरक्षित तरीका डंप कुंजियों के लिए एक उत्पादन वातावरण में पेश किया गया है, जो रिलीज नोट्स में विस्तार से विवरणित है। इस दृष्टिकोण से व्यापक आउटपुट उत्पन्न होता है, इसलिए 'nc' कमांड का उपयोग करने की सिफारिश की जाती है। उदाहरण हैं:
डंपिंग टूल्स
Table यहाँ से.
प्रोग्रामिंग भाषाएँ | टूल्स | कार्यक्षमता | ||
---|---|---|---|---|
PHP | कुंजी नामों को प्रिंट करता है। | |||
Perl | कुंजी और मानों को प्रिंट करता है। | |||
Ruby | कुंजी नामों को प्रिंट करता है। | |||
Perl | CPAN मॉड्यूल में उपकरण | ached/) | ||
PHP | Memcache मॉनिटरिंग GUI जो भी कुंजी डंप करने की अनुमति देता है | |||
libmemcached | आपकी memcached प्रक्रिया को ठंडा कर देता है!!! इसका उपयोग करते समय सावधान रहें। फिर भी इसका उपयोग करके आप 1MB सीमा को घेरे बिना वास्तव में सभी कुंजी डंप कर सकते हैं। |
समस्या निवारण
1MB डेटा सीमा
ध्यान दें कि memcached 1.4 से पहले, डिफ़ॉल्ट अधिकतम स्लैब साइज के कारण आप 1MB से अधिक विशाल ऑब्जेक्ट स्टोर नहीं कर सकते।
कभी भी टाइमआउट > 30 दिन सेट न करें!
यदि आप किसी कुंजी को एक टाइमआउट सेट करने का प्रयास करते हैं जो अनुमत मान से अधिक हो, तो आपको उम्मीद की चीज नहीं मिल सकती क्योंकि तब memcached उस मान को एक यूनिक्स टाइमस्टैम्प के रूप में देखेगा। और यदि टाइमस्टैम्प पिछले में है तो यह कुछ भी नहीं करेगा। आपका कमांड चुपचाप विफल हो जाएगा।
तो यदि आप अधिकतम जीवनकाल का उपयोग करना चाहते हैं तो 2592000 निर्दिष्ट करें। उदाहरण:
ओवरफ्लो पर गायब हो रहे कुंजी
यहां डॉक्यूमेंटेशन के बावजूद कुछ 64 बिट ओवरफ्लो करने पर "incr" का उपयोग किया जाने से मान्यता गायब हो जाती है। इसे फिर से "add"/"set" का उपयोग करके बनाया जाना चाहिए।
प्रतिलिपि
memcached स्वयं प्रतिलिपि का समर्थन नहीं करता। यदि आप वास्तव में इसे आवश्यकता है तो आपको 3 वीं पक्ष के समाधान का उपयोग करना होगा:
repcached: मल्टी-मास्टर असिंक्रन प्रतिलिपि (memcached 1.2 पैच सेट)
Couchbase memcached interface: CouchBase का मेमकैश्ड ड्रॉप-इन के रूप में उपयोग करें
yrmcds: memcached संगत मास्टर-स्लेव कुंजी मूल्य स्टोर
twemproxy (अका nutcracker): मेमकैश्ड समर्थन के साथ प्रॉक्सी
आदेश चीट-शीट
pageMemcache Commandsशोडन
port:11211 "STAT pid"
"STAT pid"
संदर्भ
Last updated