
एक XSS शोषण कमांड-लाइन इंटरफ़ेस और पेलोड जनरेटर।
toxssin एक ओपन-सोर्स पेनेट्रेशन परीक्षण उपकरण है जो क्रॉस-साइट स्क्रिप्टिंग (XSS) कमजोरियों के शोषण की प्रक्रिया को स्वचालित करता है। इसमें एक https सर्वर होता है जो उस दुर्भावनापूर्ण JavaScript पेलोड (toxin.js) द्वारा उत्पन्न ट्रैफ़िक के लिए एक इंटरप्रेटर की तरह काम करता है जो इस उपकरण को शक्ति प्रदान करता है।
यह परियोजना एक शोध-आधारित रचनात्मक प्रयास के रूप में शुरू हुई (और अभी भी है) जो यह पता लगाने के लिए है कि वेनिला JavaScript, विश्वसनीय प्रमाणपत्रों और सस्ती तरकीबों का उपयोग करके एक XSS कमजोरी कितनी गहराई तक शोषणीय हो सकती है।
अस्वीकरण: इस उपकरण का उपयोग उन वेब ऐप्स के विरुद्ध करना अवैध है जिनके परीक्षण के लिए आपके पास स्पष्ट अनुमति नहीं है। इस उपकरण का उपयोग करने से होने वाली किसी भी परेशानी के लिए आप जिम्मेदार हैं।
https://www.youtube.com/watch?v=Z9I4UJUBrrY

अधिक स्क्रीनशॉट यहाँ देखें।
डिफ़ॉल्ट रूप से, toxssin का JavaScript ज़हर स्वचालित रूप से किसी वेबपेज के तत्वों और सूचनाओं में फैल जाता है, और XMLHttpRequest ऑब्जेक्ट का दुरुपयोग करके निम्नलिखित को इंटरसेप्ट करता है:
सबसे महत्वपूर्ण बात, toxssin:
git clone https://github.com/t3l3machus/toxssin
cd ./toxssin
pip3 install -r requirements.txt
toxssin.py शुरू करने के लिए, आपको ssl प्रमाणपत्र और निजी कुंजी फ़ाइलें प्रदान करनी होंगी।
यदि आपके पास विश्वसनीय प्रमाणपत्र वाला डोमेन नहीं है, तो आप निम्न कमांड के साथ स्व-हस्ताक्षरित प्रमाणपत्र जारी कर सकते हैं और उपयोग कर सकते हैं (हालाँकि इससे आपको ज़्यादा लाभ नहीं होगा):
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365
यह दृढ़ता से अनुशंसा की जाती है कि toxssin को एक विश्वसनीय प्रमाणपत्र के साथ चलाएँ (इस दस्तावेज़ में मान्य प्रमाणपत्र कैसे प्राप्त करें देखें)। उसके बाद, आप toxssin सर्वर को इस प्रकार शुरू कर सकते हैं:
python3 toxssin.py -u https://your.domain.com -c /your/certificate.pem -k /your/privkey.pem
अतिरिक्त जानकारी के लिए प्रोजेक्ट का विकी देखें।
मेरे अनुभव में, बाहरी JS स्क्रिप्ट शामिल करने का प्रयास करने वाले क्रॉस-साइट स्क्रिप्टिंग हमलों के संबंध में 4 प्रमुख बाधाएँ हैं:
Content-Security-Policy हेडर जिसमें script-src केवल विशिष्ट डोमेन के लिए सेट होता है, क्रॉस-डोमेन src वाली स्क्रिप्ट को लोड होने से रोक देगा। Toxssin अपना ज़हर पहुँचाने के लिए eval() फ़ंक्शन पर निर्भर करता है, इसलिए, यदि वेबसाइट में CSP है और script-src निर्देश में unsafe-eval स्रोत अभिव्यक्ति निर्दिष्ट नहीं है, तो हमला संभवतः विफल हो जाएगा (मैं इसके आसपास काम करने के लिए एक दूसरी ज़हर वितरण विधि पर काम कर रहा हूँ)।नोट: "Mixed Content" त्रुटि निश्चित रूप से तब हो सकती है जब लक्षित वेबसाइट http के माध्यम से होस्ट की जाती है और JavaScript पेलोड https के माध्यम से। यह toxssin के दायरे को केवल https वेबसाइटों तक सीमित करता है, क्योंकि (डिफ़ॉल्ट रूप से) toxssin केवल ssl के साथ शुरू किया जाता है।
सबसे पहले, आपके पास एक डोमेन नाम होना आवश्यक है।
आप freenom पर मुफ्त विकल्प खोज सकते हैं। इसे सही तरीके से करना थोड़ा मुश्किल है। मेरा सुझाव है कि आप इस निर्देशात्मक वीडियो का पालन करें। साथ ही, यदि आप पहली बार खाता बनाते हैं, तो सुनिश्चित करें कि आपके द्वारा चुना गया देश आपके IP पते से मेल खाता हो, अन्यथा आपको त्रुटियाँ मिल सकती हैं।
किसी रजिस्ट्रार सेवा (जैसे https://www.namecheap.com/) से डोमेन खरीदें। सबसे किफायती तरीका एक यादृच्छिक स्ट्रिंग डोमेन नाम (जैसे "fvcm98duf") खोजना और कम लोकप्रिय TLD, जैसे .xyz, की जाँच करना है, क्योंकि उनकी कीमत संभवतः लगभग 3$ प्रति वर्ष होगी।
डोमेन नाम खरीदने के बाद, आप 5 मिनट या उससे कम समय में एक विश्वसनीय प्रमाणपत्र प्राप्त करने के लिए certbot (Let's Encrypt) का उपयोग कर सकते हैं:
टिप: certbot को स्वयं इंस्टॉल और चलाने की कोशिश न करें, आपको अप्रत्याशित त्रुटियाँ मिल सकती हैं। निर्देशों पर ही टिके रहें।
2022-06-19 - exec प्रॉम्प्ट कमांड जोड़ा गया (अब आप किसी सत्र के विरुद्ध कस्टम JS स्क्रिप्ट निष्पादित कर सकते हैं)।
2022-06-23 - मैंने exec प्रॉम्प्ट कमांड के परीक्षण के लिए टेम्पलेट के रूप में दो सरल, गंदी स्क्रिप्ट जोड़ीं। मैंने cmd प्रॉम्प्ट के पिछड़े इतिहास एक्सेस को भी ठीक किया और कुछ सुधार किए।
विचार इसे और अधिक तेज, अधिक विश्वसनीय बनाने और इसकी क्षमताओं का विस्तार करने का है। वर्तमान में, मैं फ़ाइल कैप्चर में सुधार करने पर काम कर रहा हूँ।