हिन्दी

डेवलपर टूल · HTML इकाई एस्केपर

HTML XSS रक्षा की पहली पंक्ति के रूप में भागना: इसके बिना क्या होता है

· यह क्यों मायने रखती है

HTML सुरक्षा xss

HTML XSS रक्षा की पहली पंक्ति के रूप में बच रहा है: ब्राउज़र-सुरक्षित वर्ण-संदर्भ आरेख के रूप में दिखाए बिना क्या होता है
मूल ToolAcre वेक्टर चित्रण

अधिकांश क्रॉस-साइट स्क्रिप्टिंग एक लापता एस्केप के कारण होती है। यह पोस्ट एक उपयोगकर्ता नाम का अनुसरण करता है जिसमें डेटाबेस से पेज तक एक स्क्रिप्ट टैग होता है, यह दिखाता है कि भागने से यह कहां रुकता है, और फ्रेमवर्क 'सुरक्षित' सुरक्षा को पूर्ववत करने के लिए कहां स्विच करता है।

असुरक्षित HTML आउटपुट सीमा के कारण संग्रहीत-XSS पथ

असुरक्षित HTML आउटपुट सीमा के कारण संग्रहीत-XSS पथ। जब कोई टेम्प्लेट एस्केपिंग को बायपास करता है और उपयोगकर्ता नाम या टिप्पणी को सीधे HTML में फ़ीड करता है तो संग्रहीत टेक्स्ट निष्पादन योग्य मार्कअप बन जाता है। भेद्यता आउटपुट सीमा पर है, डेटाबेस पंक्ति में नहीं।

HTML से बचने वाले xss रोकथाम को सत्यापित करने के लिए, उपयोगकर्ता नाम और टिप्पणियों को प्रस्तुत करने वाले जूनियर फुल-स्टैक डेवलपर के लिए एक संग्रहीत xss पथ का निर्माण करें। संग्रहित-XSS सीमा के दौरान असुरक्षित होने के कारण संरक्षण HTML आउटपुट सीमा उत्पन्न करता है; पहचानें कि संग्रहीत-XSS सीमा साक्ष्य का कहाँ उपभोग किया जाता है। संग्रहीत-XSS सीमा साक्ष्य के बारे में अवलोकन केवल HTML पाठ से संबंधित है।

ब्राउज़र अनएस्केप्ड टेक्स्ट को कैसे पढ़ता है - पार्सर आपके मार्कअप से आपका डेटा नहीं बता सकता है

ब्राउज़र अनएस्केप्ड टेक्स्ट को कैसे पढ़ता है - पार्सर आपके मार्कअप से आपका डेटा नहीं बता सकता है। HTML पार्सर यह अनुमान नहीं लगा सकता कि कौन से अक्षर व्यवस्थापक से आए हैं और कौन से विज़िटर से आए हैं। कम-से-कम चिह्न अपने मूल की परवाह किए बिना समान टोकननाइज़र संक्रमण शुरू करता है।

उपयोगकर्ता नाम और टिप्पणियाँ प्रस्तुत करने वाला एक जूनियर फुल-स्टैक डेवलपर संग्रहित-XSS सीमा पास से पहले पार्सर में अनएस्केप्ड टेक्स्ट को रिकॉर्ड करके परीक्षण कर सकता है कि ब्राउज़र कैसे पढ़ता है। तुलना आपके डेटा को बाद में नहीं बता सकती है और आपके मार्कअप से जिम्मेदार पार्सर का पता नहीं लगा सकती है। यह html एस्केपिंग xss रोकथाम परिणाम संग्रहीत-XSS सीमा साक्ष्य की व्याख्या करता है, निष्पादन योग्य संदर्भों की नहीं।

भागने से क्या परिवर्तन होता है - < बन जाता है, पार्सर टेक्स्ट देखता है, और पेलोड चलाने के बजाय प्रदर्शित होता है

भागने से क्या परिवर्तन होता है - < बन जाता है, पार्सर टेक्स्ट देखता है, और पेलोड चलाने के बजाय प्रदर्शित होता है। < को < से बदलने पर पार्सर पाठ में बना रहता है। ToolAcre एम्परसेंड, ग्रेटर-दैन और दोनों उद्धरणों को भी संभालता है ताकि रूपांतरित मूल्य का टेम्पलेट के अपेक्षित HTML आउटपुट के विरुद्ध निरीक्षण किया जा सके।

संक्षेप में संग्रहित-XSS सीमा नमूने में बचने वाले परिवर्तनों को अलग करें। वह दिखाएं जिसे पार्सर शाब्दिक स्रोत के रूप में देखता है, टेक्स्ट और पेलोड को उसके गंतव्य तक ले जाएं, और API रीडिंग को नाम दें, इसके बजाय प्रदर्शित किया जाता है। HTML से बचने के लिए xss रोकथाम के लिए, रन पार्सर-बाउंड साक्ष्य बना रहता है।

कार्यान्वित उदाहरण: पेलोड बच गया और बच गया - दो पेज स्रोत और दो परिणाम

कार्यान्वित उदाहरण: पेलोड बच गया और बच गया - दो पेज स्रोत और दो परिणाम। <script>alert("xss")</script> के लिए, न्यूनतम मोड <script>alert("xss")</script> लौटाता है। इसे HTML टेक्स्ट के रूप में प्रस्तुत करना स्क्रिप्ट नोड बनाने के बजाय टैग-आकार वाले वर्ण प्रदर्शित करता है।

काम किए गए उदाहरण पेलोड को एक सीमा प्रयोग के रूप में मानें। उपयोगकर्ता नाम और टिप्पणियाँ प्रस्तुत करने वाले एक जूनियर फ़ुल-स्टैक डेवलपर को एस्केप्ड और अनएस्केप्ड को बनाए रखना चाहिए, एक संग्रहित-XSS सीमा ऑपरेशन करना चाहिए, और दो परिणामों को बदलने से पहले दो पेज स्रोतों और चरित्र दर चरित्र का निरीक्षण करना चाहिए। संग्रहित-XSS सीमा साक्ष्य के बारे में दावा इस HTML परत पर रुकता है।

फ्रेमवर्क ऑटो-एस्केपिंग और इसके एस्केप हैच - 'सुरक्षित' फिल्टर, कच्चे आउटपुट हेल्पर्स और इनरHTML-स्टाइल प्रॉप्स, आम तौर पर वर्णित हैं

फ्रेमवर्क ऑटो-एस्केपिंग और इसके एस्केप हैच - 'सुरक्षित' फिल्टर, कच्चे आउटपुट हेल्पर्स और इनरHTML-स्टाइल प्रॉप्स, आमतौर पर वर्णित हैं। फ्रेमवर्क ऑटो-एस्केपिंग तब तक मूल्यवान है जब तक कि रॉ-आउटपुट हेल्पर, सुरक्षित फ़िल्टर या इनरHTML-स्टाइल API इसे अक्षम नहीं कर देता। इस तरह की भागने की साजिशें कॉल करने वाले को जिम्मेदारी सौंप देती हैं और एक संकीर्ण ऑडिट के लायक होती हैं।

ग्राहक सामग्री के बजाय हानिरहित इनपुट के साथ फ्रेमवर्क ऑटो एस्केपिंग को पुन: प्रस्तुत करें। इसके एस्केप हैच को सुरक्षित रूप से रिकॉर्ड करें, फ़िल्टर कच्चे आउटपुट सहायकों का निरीक्षण करें, और प्रत्येक जानबूझकर संग्रहीत-XSS सीमा पास की गणना करें। वह html एस्केपिंग xss प्रिवेंशन ट्रेल एक जूनियर फ़ुल-स्टैक डेवलपर को उपयोगकर्ता नाम और टिप्पणियाँ प्रस्तुत करने और आंतरिक HTML शैली प्रॉप्स का मूल्यांकन करने और आम तौर पर अनुमान लगाए बिना वर्णित करने देता है।

बचना आवश्यक है, पर्याप्त नहीं - विशेषताओं, URL और स्क्रिप्ट संदर्भों को अपने स्वयं के नियमों की आवश्यकता होती है

बचना आवश्यक है, पर्याप्त नहीं - विशेषताओं, URL और स्क्रिप्ट संदर्भों को अपने स्वयं के नियमों की आवश्यकता होती है। HTML टेक्स्ट से बचना केवल उस पार्सर संदर्भ के लिए आवश्यक है। URL को योजना नीति और घटक एन्कोडिंग की आवश्यकता है; JavaScript और CSS को अपने स्वयं के सीरियलाइज़र की आवश्यकता है; SQL को पैरामीटरयुक्त प्रश्नों की आवश्यकता है।

स्थान से बचना आवश्यक नहीं है, संग्रहित-XSS सीमा समीक्षा के दौरान पर्याप्त विशेषताएँ URL और स्क्रिप्ट संदर्भों को साथ-साथ रखने की आवश्यकता होती है। उपयोगकर्ता नाम और टिप्पणियाँ प्रस्तुत करने वाला एक जूनियर फ़ुल-स्टैक डेवलपर तब यह तय कर सकता है कि रूपांतरण या डाउनस्ट्रीम पर उसके नियम बदले गए हैं या नहीं। संग्रहित-XSS सीमा साक्ष्य के बारे में xss रोकथाम निष्कर्ष से बचने वाले html को सामान्य सुरक्षा दावों से बाहर रखें।

इसमें क्या शामिल नहीं है - सामग्री सुरक्षा नीति डिज़ाइन, DOM-आधारित XSS और सैनिटाइजर लाइब्रेरी

इसमें क्या शामिल नहीं है - सामग्री सुरक्षा नीति डिज़ाइन, DOM-आधारित XSS और सैनिटाइजर लाइब्रेरी। यह चर्चा DOM-आधारित XSS, CSP डिज़ाइन या सैनिटाइज़र चयन के कवरेज का दावा नहीं करती है। टेक्स्ट एन्कोडिंग और उपयोगकर्ता-लिखित मार्कअप को सैनिटाइज़ करना अलग-अलग आउटपुट के साथ अलग-अलग नियंत्रण हैं।

संग्रहीत-XSS सीमा चलाने से पहले परिभाषित करें कि यह क्या नहीं करता है। कवर सामग्री सुरक्षा नीति को नियंत्रण के रूप में सहेजें, डिज़ाइन डोम आधारित xss के पीछे कोड बिंदुओं का निरीक्षण करें, और अगले दुभाषिया के लिए मैप और सैनिटाइज़र लाइब्रेरीज़ का निरीक्षण करें। यह संग्रहीत-XSS सीमा साक्ष्य को एक जूनियर फुल-स्टैक डेवलपर के लिए ऑडिट करने योग्य बनाता है जो HTML से बचने वाले xss रोकथाम की जांच करने वाले उपयोगकर्ता नाम और टिप्पणियां प्रदान करता है।

टेकअवे: आउटपुट पर प्रत्येक अविश्वसनीय स्ट्रिंग से बचें - कैसे HTML इकाई एस्केपर आपको दिखाता है कि एस्केप्ड फॉर्म कैसा दिखता है, ताकि आप जांच सकें कि आपके टेम्पलेट्स को क्या उत्पादन करना चाहिए

टेकअवे: आउटपुट पर प्रत्येक अविश्वसनीय स्ट्रिंग से बचें - कैसे HTML इकाई एस्केपर आपको दिखाता है कि एस्केप्ड फॉर्म कैसा दिखता है, ताकि आप जांच सकें कि आपके टेम्पलेट्स को क्या उत्पादन करना चाहिए। पाँच-वर्ण HTML एस्केपिंग कैसा दिखता है, इसके लिए एक पारदर्शी संदर्भ के रूप में उपयोगिता का उपयोग करें। यह एक आउटपुट एन्कोडिंग चरण को प्रदर्शित करता है, न कि संपूर्ण XSS रक्षा या विश्वास निर्णय को।

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