ऐसा इसलिए है क्योंकि आईडी विशेषता सुरक्षित नहीं है।
यह मेरा जवाब नहीं है बल्कि यह आपके प्रश्न का उत्तर देगा: https://security.stackexchange.com/questions/88973/why-do-id-attributes-need-stricter-validation
id
और name
के लिए, इन विशेषताओं अक्सर डोम में संदर्भ बिंदु के रूप में उपयोग किया जाता है।
एक हमलावर इन संदर्भ बिंदु धोखा दे सकते हैं, तो वह हो रही है और तैयार किया गया है के अलावा अन्य स्थानों, जो संदर्भ है कि प्रयोग किया जाता है पर निर्भर करता है खतरनाक हो सकता है से मूल्य निर्धारित करने में सक्षम चाल मौजूदा स्क्रिप्ट हो सकता है। मुझ से
नोट: नाम विशेषता के बारे में अपने पद की वार्ता के बाकी है, लेकिन आप यह सब के पीछे विचार यह मिल जाएगा, तो आप क्या ऊपर
यह भी है के द्वारा पहले से ही नहीं है HTML फॉर्म पर लागू होता है जहां name
नाम/मान जोड़ी की पहचान करने के लिए उपयोग किया जाता है। उदाहरण के लिए, यदि कोई वेबसाइट आउटपुट होने पर किसी विशेष फॉर्म फ़ील्ड को एन्कोड नहीं करती है, लेकिन चूंकि फॉर्म फ़ील्ड सर्वर उत्पन्न होता है और फॉर्म को टोकन के उपयोग से सीएसआरएफ के खिलाफ सुरक्षित किया जाता है, तो इसे सामान्य माध्यमों से शोषित नहीं किया जा सकता है। हालांकि, एक हमलावर उपयोगकर्ता को name
में उपयोग किए जाने वाले पैरामीटर वाले यूआरएल पर जाने के लिए लुभाने में सक्षम हो सकता है, जिसमें फॉर्म जमा करने के लिए एक्सएसएस पेलोड होता है।
उदासामान्य उपयोग:
https://example.com/product?item_name=watch&qty=1
जो एक रूप
<form>
<input type="hidden" name="watch" value="1" />
<input type="hidden" name="shop_name" value="Bob's Supplies" />
<input type="hidden" name="anti-csrf" value="asdjasodhoai" />
<input type="submit" value="Click here to buy" />
</form>
renders और फिर
Thank you for buying from Bob's Supplies.
हालांकि के रूप में उत्पादन हो जाता है, एक हमलावर तो जैसे उपयोगकर्ता के लिए एक लिंक भेज सकते हैं:
https://example.com/product?item_name=shop_name&qty=<script>alert('xss')</script>
जैसा कि आवेदन है सही ढंग से इस बिंदु पर एचटीएमएल एन्कोडिंग यह रूप में
Thank you for buying from <script>alert('xss')</script>.
रूप
<form>
<input type="hidden" name="shop_name" value="<script>alert('xss')</script>" />
<input type="hidden" name="shop_name" value="Bob's Supplies" />
<input type="hidden" name="anti-csrf" value="asdjasodhoai" />
<input type="submit" value="Click here to buy" />
</form>
यह तो हो जाता है उत्पादन प्रपत्र प्रस्तुत करने के बाद से यह पेज एचटीएमएल shop_name
पैरामीटर एन्कोड नहीं करता, क्योंकि यह विश्वसनीय है और अनुप्रयोग फ्रेमवर्क हमेशा डुप्लिकेट के मामले में पहला मान लेता है। बहुत प्रतिस्पर्धा हुई, लेकिन यह पहली बात थी जो बिंदु को प्रदर्शित करने के लिए मेरे सिर में गिर गई। http://stackoverflow.com/:
ढेर जोड़ने एक साथ इस सवाल से कार्ल से जवाब के साथ है प्रश्न/3 9 007130/द-पाइप-नहीं-पाया-कोणीय 2-कस्टम-पाइप Sanitizer – sanyooh
@Sanyooh के साथ इस समस्या के लिए एक अच्छा फिक्स है यह अच्छी तरह से sanatizing काम करता है, लेकिन मुझे '' अपरिभाषित 'मेरे' आंतरिक HTML] 'सामग्री प्रदर्शित है। '
' – fidevसुरक्षित एचटीएमएल? जहां इसे –