2013-04-30 7 views
5

मैंने हाल ही में एक आवेदन लिया है और हमने हाल ही में एक ऐपकेन किया है और मुझे एक आइटम को कमजोर के रूप में चिह्नित किया गया है। सुझाव दिया गया उपचार उपचार दुर्भावनापूर्ण अनुरोधों को अस्वीकार करना था। रिपोर्ट में कहा गया AppScan की कोशिश की:दुर्भावनापूर्ण अनुरोधों को कैसे अस्वीकार करें

निम्न परिवर्तन मूल अनुरोध करने के लिए लागू किया गया: मैं इस 1 बार हम AppScan भाग गया चिह्नित किये था 'http://bogus.referer.ibm.com'

को सेट HTTP हेडर, और करने के लिए कोड डाल जांचें कि क्या urlreferer प्रदान किया गया है, यदि ऐसा है तो सुनिश्चित करें कि यह यूआरएल में मेजबान जैसा ही है, अन्यथा उपयोगकर्ता के सत्र को मार दें और लॉगिन पेज पर रीडायरेक्ट करें। हम फिर से एप्सकेन चलाए और इसे फिर से ध्वजांकित कर दिया गया, मुझे यकीन नहीं है कि इसे कैसे संभाला जाए।

जब मैं रिपोर्ट को देखता हूं, तो यह दिखाता है कि यह फर्जी रेफरर में डाल दिया गया है, सर्वर ने 302 स्थिति, रीडायरेक्ट के साथ जवाब दिया है, और फिर उस लॉगिन के लिए अनुरोध किया गया था जिस पर सर्वर ने 202 के साथ जवाब दिया था। एप्सकेन तर्क कहता है:

उसी अनुरोध को विभिन्न सत्रों में दो बार भेजा गया था और वही प्रतिक्रिया प्राप्त हुई थी। इससे पता चलता है कि कोई भी पैरामीटर गतिशील नहीं है (सत्र पहचानकर्ता केवल कुकीज में भेजे जाते हैं) और इसलिए यह एप्लिकेशन इस समस्या के लिए कमजोर है।

लेकिन प्रतिक्रिया हमेशा एक जैसी नहीं होगी? यदि चेक 302 के बाद 302 विफल रहता है, तो उपयोगकर्ता के बावजूद, एक रीडायरेक्ट और लॉगिन पृष्ठ आता है। क्या किसी को यह पता है कि इसे कैसे संभालना है? मुझे लगता है कि मैं उपयोगकर्ता की सत्र आईडी को रीडायरेक्ट यूआरएल में डाल सकता हूं ताकि ऐपस्कैन अलग-अलग दिखाई दे, लेकिन मैंने सोचा कि एक और तरीका होना चाहिए।

यह एक .NET 4 एप्लिकेशन है। उपयोगकर्ताओं को सत्र ऑब्जेक्ट के साथ ट्रैक किया जाता है, यदि यह मायने रखता है, तो फॉर्म प्रमाणीकरण का उपयोग नहीं किया गया था।

+1

"एप्सकेन" क्या है? – spender

+0

यह मुझे लगता है: http://www-01.ibm.com/software/awdtools/appscan/ – Darren

+0

फ़ोरम साइट्स के विपरीत, हम "धन्यवाद" या "किसी भी सहायता की सराहना नहीं करते हैं", या हस्ताक्षर [so] । देखें "[चाहिए 'हाय', 'धन्यवाद,' टैगलाइन, और नमस्कार पदों से हटा दिए जाएंगे?] (Http://meta.stackexchange.com/questions/2950/should-hi-thanks-taglines-and-salutations-be -Removed-से-पोस्ट)। –

उत्तर

3

सेट viewstate उपयोगकर्ता कुंजी, रेफरी: https://security.stackexchange.com/questions/19152/how-does-viewstate-protect-against-csrf यह यह दोनों नवीनतम पृष्ठ & अपने कुकीज़ के लिए उपयोग किए बिना एक प्रश्न भेजने के लिए कठिन बना देता है।

HttpException का प्रयोग 403 वापस जाने के लिए एप्लिकेशन स्कैन एक अत्यंत पहचानने योग्य है signature-- वे 100s फेंक (आप भी कुछ अतिरिक्त काम करने के लिए यह एक 500 बनने से रखने के लिए आवश्यकता हो सकती है)

Throwing an HttpException always sends back HTTP 500 error?

और एक ही मिनट में अपवादों का। आपके त्रुटि लॉगिंग इंफ्रास्ट्रक्चर के हिस्से के रूप में, आप एक ही मिनट में 5 अपवादों के बाद कैप्चा प्रस्तुत करना चाहेंगे, या ऐप स्कैन फेंकने वाले त्रुटियों पर कैप्चा प्रस्तुत करना चाहेंगे कि आपका ऐप कभी फेंकता नहीं है (जैसे बहुत लंबे यूआरएल, .jsp के लिए क्वेरी एक .aspx अनुप्रयोग में फ़ाइलें)। एक बार जब ऐपसैनर आईडीड किया गया हो तो आप एक कैप्चा हल करने तक हमेशा एक त्रुटि पृष्ठ पर रीडायरेक्ट करके अपने सत्र को जहर करना चाहते हैं। इसका निचला पक्ष यह है कि एप्लिकेशन द्वारा फेंक दिए गए अपवाद के बाद उपयोगकर्ता को कैपेचा के साथ प्रस्तुत किया जाएगा, उपयोगकर्ता द्वारा टेक्स्टबॉक्स में एक सुरक्षा त्रुटि कहें। आप सभी ऐप स्कैनर के लिए इस सुविधा को लागू नहीं कर सकते हैं या नहीं, शायद केवल दुर्भावनापूर्ण, आपके संगठन में प्रोत्साहन पर निर्भर करते हैं।

+0

मैं व्यूस्टेट कुंजी का प्रयास करूंगा, यह वास्तव में एक आईबीएम उपकरण से है जिसे हम आंतरिक रूप से उपयोग करते हैं, बाहरी आउटवेस्टर से स्कैन नहीं। उपकरण हालांकि मुझे लगता है कि उपयोगकर्ता के रूप में लॉग इन करता है और फिर यूआरएल के साथ गड़बड़ करता है और यह अनुरोध कुछ तोड़ने की कोशिश करने के लिए पृष्ठों को भेजता है। यदि हम किसी सत्र से उपयोगकर्ता से नहीं थे तो मैं रिपोर्ट फिर से जांचूंगा, मैं देखता हूं कि यह ठीक करता है या नहीं। – Paritosh

+0

आप इसे पहले से ही समझ चुके हैं, लेकिन मुद्दा यह नहीं है कि उपयोगकर्ता के पास सत्र नहीं है (हर कोई एक हो जाता है) और न ही वे प्रमाणित नहीं हैं। एक सीएसआरएफ हमला एक वैध उपयोगकर्ता को http GET और POSTs करने में चाल करेगा जिसमें आमतौर पर XHR का उपयोग करके सत्र और ऑथ कुकीज़ शामिल होंगी, लेकिन, XHR को हाल ही में अनुरोध किए गए पृष्ठ तक आसानी से पहुंच नहीं होगी। यह एक जटिल हमले और ग्रोक रक्षा के लिए जटिल है। दोस्ताना स्कैनिंग बनाम दुर्भावनापूर्ण स्कैनिंग के रूप में, मैंने कभी नहीं समझा कि क्यों स्कैनिंग आसान और कुशल है, इस तथ्य को छोड़कर सभी छेद स्कैन करें और ठीक करें। – MatthewMartin

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