पृष्ठभूमि
मुझे एक कंपनी को उनके सर्वर को बनाए रखने में मदद करने के लिए अनुबंधित किया गया है। मैं कुछ मामूली PHP परियोजनाओं पर काम करता हूं, लेकिन प्रदर्शन के मुद्दों पर भी देखता हूं और हाल ही में, हैकर्स के लिए लॉग स्कैन करता हूं।
ये लोग कुछ समय से अपना सर्वर चला रहे हैं और मेरे पास इसके पिछले पैरों पर एक विरासत अनुप्रयोग है। यह मैजिक कोट्स, ग्लोबल वैरिएबल्स (जिसे $id
ओवरराइट करने की अनुमति देता है $_GET['id']
) का उपयोग करता है। कुछ उदाहरणों में उनकी एकमात्र सुरक्षा के रूप में .htaccess का उपयोग करें, आप इसे नाम देते हैं। एक सुरक्षा और प्रोग्रामिंग दुःस्वप्न।
हमें अतीत में हैक किया गया है, ज्यादातर SQL इंजेक्शन के साथ, जो SLEEP(99999999)
कमांड चलाएगा और डॉस-हमले के रूप में कार्य करेगा। सौभाग्य से वे "छोटी बॉबी टेबल" नहीं चलाते थे,
XKCD: http://xkcd.com/327/
इसलिए मैंने mysql_query()
पीडीओ लेनदेन से उनके कमजोर एसक्यूएल बयान (मायसक्ली नहीं) को फिर से लिखा । मैं भी के लिए प्रश्नों का विश्लेषण कर रहा हूँ SLEEP
और UNION
है, जो हम प्रयोग नहीं करते, लेकिन इंजेक्शन है। अब तक सब ठीक है।
नवीनतम अंक
हाल ही में हमें बताया गया है कि यूजर्स के लिए डीबी में रिकॉर्ड बदल रहे हैं, जैसे कि उनके ई-मेल पते जो संभवत: स्पैमर्स द्वारा बनाए गए हैं।
मैंने देखा कि उनके स्तंभों में एक last_modified
कॉलम नहीं था , इसलिए हम यह भी नहीं जान पाए कि उन्हें कब बदला जा रहा है, अकेले कौन जाने। मैंने उस कॉलम को जोड़ा, लेकिन यह मुश्किल से एक पहला कदम है।
जब मैं इस तालिका को देख रहा था, मैंने देखा कि पासवर्ड न तो नमकीन थे और न ही हैशेड, बस प्लेनटेक्स्ट के रूप में सहेजा गया था।
ग्राहक संचार
मैं एक पागल की तरह अपनी बाहों को बहाए बिना, एक ठेकेदार के रूप में पूरी स्थिति के बारे में उनसे कैसे संपर्क कर सकता हूं? कोई सुझाव? मैं एक शांत दृष्टिकोण सोच रहा था,
अंक 1 सार यह एक मुद्दा क्यों है अगर यह तय नहीं हुआ तो क्या हो सकता है सुझाया गया ठीक ISSUE # 2 सार यह एक मुद्दा क्यों है अगर यह तय नहीं हुआ तो क्या हो सकता है सुझाया गया ठीक