2013-02-28 3 views
5

मैं एक वेब एप्लिकेशन का परीक्षण कर रहा हूं। मैं XSS स्क्रिप्ट लिखना चाहता हूं जो एक चेतावनी "Hello" प्रदर्शित करेगा।क्रॉस साइट स्क्रिप्टिंग इंजेक्शन

पहले स्क्रिप्ट मैंने लिखा था:

<script >alert("Hello");</script > 

लेकिन चेतावनी "Hello" प्रदर्शित नहीं किया। मुझे पता चला XSS स्क्रिप्ट काम करता है

<SCRIPT >alert(String.fromCharCode(72,101,108,108,111,33))</SCRIPT > 

मुझे पता है क्यों पहले स्क्रिप्ट काम नहीं किया चाहते हैं कि।

+0

आप XSS कहानियो के बारे में अधिक जानना चाहते हैं अगर मैं तुम्हें [XSS फ़िल्टर कर सकते हैं सुझाव जिम्मेदार बताते हैं यह सोचते हैं XSS हमलों को हराने के लिए आवश्यक है उत्क्रमण धोखा शीट] (https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet)। – Eich

+0

मुझे यकीन नहीं है कि आपने अभी तक जवाब क्यों स्वीकार नहीं किया है। यह बहुत ठोस लगता है। – SoonDead

उत्तर

7

अधिकतर साइट एचटीएमएल इकाइयों के साथ डबल कोट्स को प्रतिस्थापित करती है या उन्हें किसी अन्य तरीके से बचने की कोशिश करती है जो उन्हें जावास्क्रिप्ट के लिए अनुपयुक्त बनाती है। String.fromCharCode(...) का उपयोग करते समय आपको किसी भी उद्धरण चिह्न का उपयोग करने की आवश्यकता नहीं है, इसलिए यह काम करेगा। यह स्ट्रिंग के वर्णों के ASCII कोडों की एक सूची प्राप्त करता है और रनटाइम के दौरान उनमें से एक स्ट्रिंग बनाता है। तो किसी उद्धरण की कोई आवश्यकता नहीं है।

इस प्रकार के एक्सएसएस से बचने का उचित तरीका < को &lt; के साथ प्रतिस्थापित करना है - इस तरह एक स्क्रिप्ट टैग बिल्कुल नहीं बनाया जा सकता है।

ध्यान दें कि >, " और & को एचटीएमएल युक्त डेटा को स्वच्छ करने के दौरान अपने संबंधित HTML इकाइयों के साथ भी बदला जाना चाहिए! हालांकि, केवल < बिल्कुल कोई अविश्वसनीय डेटा HTML में इस्तेमाल किया जा सकता है (जो जहां " जरूरतों स्वच्छ किया जाना है)

+0

हां @ थिफमास्टर, साइट पहली स्क्रिप्ट में \ "हैलो \" में "हैलो" बदलती है। मैं जानना चाहता हूं कि यह साइट क्यों करती है। साथ ही, मैं जानना चाहता हूं कि कैसे 'स्ट्रिंग.फॉम करकोड (72,101,108,108,111,33)' हैलो प्रदर्शित करने के लिए काम करता है! – IBK

+0

'स्ट्रिंग.फॉमकारकोड' एक सामान्य जावास्क्रिप्ट विधि है (समझाया गया [यहां] (http://www.w3schools.com/jsref/jsref_fromcharcode.asp))। आप अपने '

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