2013-03-20 7 views
8

में सुरक्षित JSON, XML और YAML लोडिंग सुनिश्चित करना मैं एक उत्पादन Django 1.5 एप्लिकेशन को बनाए रख रहा हूं।Django प्रोजेक्ट

हाल ही में जेएसओएन, एक्सएमएल और वाईएएमएल वस्तुओं की लोडिंग से संबंधित विभिन्न भेद्यताओं के बारे में बहुत शोर था। अगर मैं सही ढंग से समझता हूं, लोडिंग कार्यों में बग का शोषण करने के लिए इनपुट सावधानीपूर्वक तैयार किया गया था।

अब, मुझे नहीं पता कि Django (या तीसरे पक्ष के ऐप्स जो हम उपयोग करते हैं) इन प्रोटोकॉल का उपयोग करते हैं। मैं ऐसी भेद्यताओं से कैसे सुरक्षित रह सकता हूं? क्या मुझे यह सुनिश्चित करने की ज़रूरत है कि Django JSON, XML और YAML को सुरक्षित रूप से लोड कर रहा है?

+3

यह सुनिश्चित करना कि Django JSON, XML और YAML को सुरक्षित रूप से लोड कर रहा है, Django डेवलपर्स का काम है। मैं आपको आश्वस्त कर सकता हूं, Django के मुकाबले आपके कोड में शायद अधिक सुरक्षा समस्याएं हैं (हालांकि उन लोगों का स्पष्ट रूप से अधिक प्रभाव पड़ता है और अधिक होने की संभावना है)। – delnan

+0

आप किस शोर का जिक्र कर रहे हैं? विनिर्देशों पर कोई लिंक? –

+5

मेरा मानना ​​है कि वह [रेल वाईएएमएल शोषण] के बारे में बात कर रहा है (http://rubysource.com/anatomy-of-an-exploit-an-in-depth-look-at-the-rails-yaml-vulnerability/) और [पायथन एक्सएमएल लाइब्रेरी डीओएस हमले वैक्टर पार्सिंग] (http://blog.python.org/2013/02/announcing-defusedxml-fixes-for-xml.html)। –

उत्तर

1

Django डिफ़ॉल्ट रूप से इन प्रारूपों में उपयोगकर्ता एन्कोडेड इनपुट स्वीकार नहीं करता है और सामान्य तृतीय-पक्ष ऐप्स में या तो नहीं होगा, लेकिन यह सुनिश्चित करने के लिए उपयोगकर्ता के सामने वाले हिस्सों की ऑडिटिंग करने योग्य है। बड़े लोग एपीआई प्रदाता (टेस्टीपी, डीजेगो रीस्ट फ्रेमवर्क इत्यादि) होने जा रहे हैं। यदि आप वर्तमान संस्करणों पर हैं तो आपको सुरक्षित होना चाहिए, लेकिन यह परीक्षण/पुष्टि के लायक है।

यदि आप इन प्रारूपों से अपने ऐप में कुछ भी लोड कर रहे हैं, तो defusedxml और वाईएएमएल safe_load विधि का उपयोग करना सुनिश्चित करें। मानक लाइब्रेरी json मॉड्यूल इस तरह के शोषण से सुरक्षित होना चाहिए।

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