मैं अपने आवेदन में सुरक्षा मुद्दों को खोजने के लिए फोर्टिफा एससीए का उपयोग कर रहा हूं (एक विश्वविद्यालय होमवर्क के रूप में)। मुझे कुछ 'लॉग फोर्जिंग' मुद्दों का सामना करना पड़ा है, जिन्हें मैं छुटकारा पाने में सक्षम नहीं हूं।लॉग फोर्ट फोर्टिंग फिक्स
असल में, मैं कुछ मूल्यों है कि एक वेब इंटरफेस से उपयोगकर्ता इनपुट के रूप में आ लोग इन:
logger.warn("current id not valid - " + bean.getRecordId()));
और मज़बूत एक लॉग मुद्दा फोर्जिंग के रूप में इस रिपोर्ट करती है, क्योंकि getRecordId() एक उपयोगकर्ता इनपुट देता है।
मैं इस article का पालन किया है, और मैं अंतरिक्ष के साथ 'नई लाइन' की जगह रहा हूँ, लेकिन समस्या अभी भी
logger.warn("current id not valid - " + Util.replaceNewLine(bean.getRecordId()));
रिपोर्ट किया गया है किसी को भी इस समस्या को हल करने के लिए एक तरह से बता सकते हैं?
IMHO यह सभी सामग्री के बारे में है, :) एक अच्छा अभ्यास आप उपयोगकर्ता इनपुट को साफ़ करने में है के रूप में, और इस होना चाहिए एक चेतावनी के रूप में माना जाता है कि कुछ स्थितियों में, विषम सॉफ़्टवेयर आर्किटेक्चर (जावा से सी ऐप को कॉल करना) असुरक्षित उपयोगकर्ता इनपुट खतरनाक हो सकता है (नई लाइन को बदलना उचित स्वच्छता से बहुत दूर है;)), प्रारूपों के प्रारूप भी एक खतरे पेश कर सकते हैं, अगर रिकॉर्ड आईडी एक संख्या (लंबी, पूर्णांक, डबल) है जिसे आप इसे छोड़ सकते हैं :), यदि यह स्ट्रिंग है तो आप इसे छोड़ भी सकते हैं लेकिन इसके बारे में याद रखें :)। – fatfredyy