
स्वचालित XSS सत्यापन पाइपलाइन CVE-2020-3580 के लिए Shodan-आधारित खोज, दायरा मिलान, और Cisco ASA/FTD WebVPN SAML एंडपॉइंट्स के लिए अनुमोदन-गेटेड कैनरी परीक्षण के साथ।
Cisco ASA / FTD परावर्तित XSS WebVPN SAML SP ACS एंडपॉइंट
(/+CSCOE+/saml/sp/acs) में। इसमें पैच किया गया
cisco-sa-asaftd-xss-multiple-FCB3vPZe।
इस रिपॉजिटरी में शामिल है:
xss.html — अधिकृत लक्ष्यों के लिए मानव-सत्यापन योग्य PoC।src/ — एक डिस्कवरी + स्कोप-जागरूक सत्यापन पाइपलाइन।docs/ — पद्धति और नैतिकता।┌──────────┐ ┌──────────────┐ ┌────────────────────┐ ┌────────────────┐ ┌──────────────┐
│ Shodan │ → │ scope match │ → │ manual approval │ → │ canary check │ → │ MD report │
│ (3 dorks)│ │ (H1, BC, +) │ │ deny-by-default │ │ no JS exec │ │ drafts │
└──────────┘ └──────────────┘ └────────────────────┘ └────────────────┘ └──────────────┘
प्रत्येक चरण एक निरीक्षण योग्य JSON आर्टिफैक्ट लिखता है और स्वतंत्र रूप से चलता है।
सत्यापनकर्ता alert() को नहीं फायर करता है। यह एक अद्वितीय कैनरी स्ट्रिंग POST करता है
जिसमें कच्चे <>"' होते हैं और प्रतिक्रिया बॉडी को ग्रेड करता है। पुष्टि किए गए हिट्स को
एक Markdown ड्राफ्ट मिलता है जिसमें मूल xss.html शामिल होता है ताकि कार्यक्रम समीक्षक
अपने ब्राउज़र में सत्यापित कर सके।
सत्यापन अनुमोदन-गेटेड है। एक स्कोप मैच केवल एक प्रारंभिक बिंदु है; वर्तमान कार्यक्रम संक्षिप्त विवरण अनुबंध है। सक्रिय सत्यापन से पहले, कार्यक्रम नीति की समीक्षा करें और data/validation_approvals.json में लक्ष्य की अनुमोदन फ़्लैग सेट करें।
git clone https://github.com/cruxN3T/CVE-2020-3580
cd CVE-2020-3580
python3 -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
cp creds.env.example creds.env
$EDITOR creds.env # add your Shodan key, optionally H1/BC tokens
creds.env gitignored है। .gitignore *.env से मेल खाने वाली किसी भी फ़ाइल को ब्लॉक करता है
(*.env.example को छोड़कर), साथ ही data/ और reports/ को सार्वजनिक रिपॉजिटरी से लक्ष्य सूचियों
और सत्यापन अंशों को दूर रखने के लिए।
डिफ़ॉल्ट एंड-टू-एंड कमांड जानबूझकर सत्यापन से पहले रुकता है:
python -m src.pipeline run
यह सभी अनुमोदन फ़्लैग को false पर सेट करके data/validation_approvals.json लिखता है।
प्रत्येक वर्तमान कार्यक्रम संक्षिप्त विवरण की समीक्षा करें और सभी तीन फ़ील्ड्स को true पर सेट करें
केवल तब जब लक्ष्य अभी भी स्कोप में हो और इस प्रकार का सत्यापन अनुमत हो:
{
"manual_policy_reviewed": true,
"automated_testing_allowed": true,
"cve_testing_allowed": true
}
फिर सत्यापित करें और रिपोर्ट ड्राफ्ट जनरेट करें:
python -m src.pipeline validate
python -m src.pipeline report
या चरण-दर-चरण:
python -m src.pipeline discover # Shodan → data/shodan_hits.json
python -m src.pipeline scope # match → data/in_scope.json
python -m src.pipeline approve-template # → data/validation_approvals.json
python -m src.pipeline validate # approved canary checks only
python -m src.pipeline report # → reports/<host>__CVE-2020-3580.md
केवल निजी प्रयोगशाला लक्ष्यों के लिए, validate --allow-unapproved अनुमोदन फ़ाइल को बायपास करता है।
पुराने उपकरणों के लिए जहां प्रमाणपत्र सत्यापन असंभव है,
validate --allow-insecure-tls उस रन के लिए TLS सत्यापन अक्षम कर देता है।
scope चरण बिना किसी API कुंजी के काम करता है — यह
arkadiyt/bounty-targets-data से खींचता है। creds.env में H1_USERNAME + H1_API_TOKEN जोड़ने से
जब H1_LIVE=true सेट होता है तो HackerOne Hacker API से ताज़ा डेटा के साथ इसे बढ़ाया जा सकता है।
सब कुछ creds.env में रहता है। पूरी सूची के लिए creds.env.example देखें।
जानने योग्य नॉब्स:
SCOPE_PLATFORMS — अल्पविराम-पृथक। डिफ़ॉल्ट hackerone,bugcrowd है। व्यापक कवरेज चाहिए तो intigriti और yeswehack जोड़ें।TARGET_RPM — प्रति होस्ट अनुरोध प्रति मिनट। डिफ़ॉल्ट 10 है। बिना कारण इसे न बढ़ाएं।TLS_VERIFY — डिफ़ॉल्ट true।REQUIRE_VALIDATION_APPROVAL — डिफ़ॉल्ट true।docs/ETHICS.md — स्कोप मैच क्या अधिकृत करता है और क्या नहीं, और सत्यापनकर्ता जानबूझकर क्या नहीं करता है।docs/METHODOLOGY.md — रिफ्लेक्शन ग्रेडिंग कैसे काम करती है और प्रत्येक चरण क्यों मौजूद है।यह एक मास-एक्सप्लॉइटेशन टूल नहीं है। यह 0day नहीं है। यह सबमिट करने से पहले प्लेटफ़ॉर्म पर कार्यक्रम संक्षिप्त विवरण पढ़ने का विकल्प नहीं है। स्कोप मैचर एक प्रारंभिक बिंदु है; नीति पाठ अनुबंध है।
MIT. LICENSE देखें।