हमारे पास जावा आईआरसी एप्लीकेशन है जहां उपयोगकर्ताओं को मनमाने ढंग से PHP निष्पादित करने और परिणाम प्राप्त करने की अनुमति है। कुछ इस प्रकार के लिए प्रयोग किया जाता है का एक उदाहरण है:PHP जेलिंग मनमाने ढंग से कोड
btc: <php>$btc = json_decode(file_get_contents('https://btc-e.com/api/2/1/ticker'), true); $ticker = $btc['ticker']; echo "Current BTC Ticker: High: $".$ticker['high']." Low: $".$ticker['low']." Average: $" . $ticker['avg'];
हम यह भी एक अजगर सेटअप है, लेकिन हम पीएचपी चाहते क्योंकि पीएचपी कहीं भी कोड में नई-पंक्तियों की आवश्यकता नहीं है।
<php>echo readfile("/etc/passwd");
: (चूंकि यह आईआरसी है, हम इसे नई पंक्तियां जब तक हम एक वेब-लोडेड .py फ़ाइल exec नहीं दे सकता)
मुद्दा ऐसे में के रूप में प्रणाली, का फायदा उठाने की कोशिश कर रहा से रोकने के लिए कैसे है
जो सभी को देखने के लिए passwd फ़ाइल को स्पष्ट रूप से पढ़ा जाएगा।
हम भी इस समस्या हो रही है, हम readfile() ब्लॉक करने की कोशिश के बाद:
<php>$rf = readfile; echo $rf("/etc/passwd");
हम इस प्रणाली को हासिल करने के बारे में कैसे जाना चाहिए? (पूर्ण कोड गिटूब पर है, किसी भी रुचि के लिए: https://github.com/clone1018/Shocky)
एक तरफ, वास्तविक वास्तविक जानकारी का खुलासा नहीं किया जा रहा है, क्योंकि पूरी चीज वीएम में है, इसलिए यह "टाइमबॉम्ब" या कुछ भी नहीं है । हम अभी भी इसे लॉक करना चाहते हैं।
के नवीनतम संस्करणों से हटा दिया गया है/हटाया गया है आपके वेब सर्वर को '/ etc/passwd' पढ़ने का अधिकार क्यों है? स्टार्टर्स के लिए अपने वेब उपयोगकर्ता को लॉक करें। – afuzzyllama
@afuzzyllama का वेब उपयोगकर्ता के साथ कुछ लेना देना नहीं है; '/ etc/passwd' अधिकांश लिनक्स वितरण पर डिफ़ॉल्ट रूप से दुनिया को पठनीय है।कुछ प्रोग्रामों को कार्य करने के लिए उस फ़ाइल तक पहुंच की आवश्यकता होती है, और इसमें कोई भी पासवर्ड नहीं है। –
@Ryan P - "वेब उपयोगकर्ता" से मेरा मतलब है कि उपयोगकर्ता अपाचे चला रहा है, न कि वेबसाइट पर उपयोगकर्ता। – afuzzyllama