2010-08-10 12 views
5

क्या किसी को किसी भी स्क्रिप्ट इंजेक्शन स्कैनर के बारे में पता है जो यह पता लगाने में सक्षम हैं कि आपकी वेबसाइट पर समझौता किया गया है या नहीं (यानी जावास्क्रिप्ट जिसे इंजेक्शन दिया गया है जो कि वहां नहीं होना चाहिए)?वेबसाइट स्क्रिप्ट इंजेक्शन स्कैन

+0

आप जाँच करना चाहिए कुछ भी करने से पहले के बाद नहीं लिखी है। –

उत्तर

2

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

सर्वर के पक्ष में mod security नामक रीयलटाइम ओपन सोर्स समाधान है। यह एक वेब अनुप्रयोग फ़ायरवॉल है: यह अनुरोधों और/या प्रतिक्रियाओं में विशिष्ट पैटर्न का पता लगा सकता है। यह मॉड्यूल के रूप में apache पर काम करता है। यह मुख्य रूप से एक उत्पादन समाधान है, और विकास के दौरान इंजेक्शन का पता नहीं लगाता है। इसके अलावा, आपको इसे ट्यून करने के लिए कुछ अनुभवों की आवश्यकता है (हमारे ग्राहकों के साथ डेटा एक्सचेंजों में अच्छा और गलत क्या है) जो मुश्किल हो सकता है और नए हमलों या अधिक बुद्धिमान हमलों (उदाहरण के लिए पुनः-एन्कोडिंग वर्ण) के खिलाफ सुरक्षा नहीं करता है।

वैसे, एक और समाधान Content Security Policy का उपयोग करना है, लेकिन यह सभी ब्राउज़रों में उपलब्ध नहीं है (ठीक है, वर्तमान समय में कोई भी नहीं, फ़ायरफ़ॉक्स 4 ;-) के लिए प्रतीक्षा करें।

1

आप नहीं कर सकते हैं कि मैं क्या तलाश कर रहा था पाया। क्योंकि ब्राउज़र पर आने पर एक खराब स्क्रिप्ट हमेशा आपके स्कैनर फ़ंक्शन को फिर से लिखने/बेअसर करने में सक्षम होगी।
और आपके सर्वर पर अब आपके पृष्ठ में क्या होता है इसका कोई नियंत्रण नहीं है।

इंजेक्शन से अपने पृष्ठ को सुरक्षित रखने का एक आसान तरीका है: iframe का उपयोग करके सभी अविश्वसनीय सामग्री को अपने सर्वर पर एक अलग सबडोमेन या पोर्ट पर इंगित करें।
आपको वही मूल नीति मिलती है जो iframe को सैंडबॉक्स करती है और मूल पृष्ठ के संसाधनों तक पहुंच को रोकती है।

फिर आप iframes और मुख्य पृष्ठ के बीच सुरक्षित रूप से संवाद करना चाह सकते हैं।
यदि आप आधुनिक ब्राउज़र या मोबाइल को लक्षित करते हैं तो आप स्ट्रिंग संदेशों को भेजने के लिए window.postMessage का उपयोग कर सकते हैं।
पुराने ब्राउज़र के लिए, कुछ गुर here is a blog post with a solution

यह क्रॉस साइट स्क्रिप्टिंग के खिलाफ आप की रक्षा नहीं करता है, लेकिन यह एक और मुद्दा आप पैरेंट पृष्ठ में एक गुप्त टोकन के माध्यम से हल कर सकते हैं है।

0

स्टॉपबैडवेयर समूह एक नि: शुल्क स्कैनिंग सेवा प्रदान करता है। Google और मोज़िला इस सेवा पर भरोसा करते हैं कि "यह साइट आपके कंप्यूटर को नुकसान पहुंचा सकती है" चेतावनियां।

स्कैनिंग सेवा यहां उपलब्ध है: अपनी वेबसाइट की सुरक्षा पर http://www.stopbadware.org/home/reportsearch

विवरण यहां हैं: http://www.stopbadware.org/home/security

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