
🚫 सुरक्षा शोधकर्ताओं के लिए उन्नत उपकरण जो स्मार्ट तकनीकों और अनुकूली अनुरोध हेरफेर के माध्यम से 403/40X प्रतिबंधों को बायपास करता है। तेज़। सटीक। प्रभावी।
nomore403 एक कमांड-लाइन टूल है जो HTTP एक्सेस-कंट्रोल बाईपास और पार्सर असंगतियों का परीक्षण 401, 403, और संबंधित प्रतिक्रियाओं के आसपास करने के लिए है।
यह टूल व्यावहारिक वेब सुरक्षा कार्य के लिए डिज़ाइन किया गया है: बग बाउंटी, पेनिट्रेशन टेस्टिंग, सुरक्षा समीक्षा, और एक्सेस-कंट्रोल नियमों का रिग्रेशन परीक्षण। यह अनुरोध म्यूटेशनों का एक व्यापक सेट स्वचालित करता है, एक आधार रेखा कैप्चर करता है, सामान्य झूठी सकारात्मकता को फ़िल्टर करता है, और उन प्रतिक्रियाओं को हाइलाइट करता है जो सार्थक बाईपास का प्रतिनिधित्व करने की सबसे अधिक संभावना रखती हैं।
एक लक्ष्य URL दिए जाने पर, nomore403:
curl कमांड सहित पुनरावर्तनीय साक्ष्य जारी करता है।यह टूल अपने आप में "प्रमाणीकरण नहीं तोड़ता"। यह इस बात के अंतर खोजने में मदद करता है कि कैसे फ्रंटएंड, प्रॉक्सी, WAF, CDN, एप्लिकेशन राउटर और बैकएंड एक ही अनुरोध की व्याख्या करते हैं।
404 या पैरेंट-पथ प्रतिक्रियाओं से झूठी सकारात्मकता को कम करने के लिए ऑटो-कैलिब्रेशनnet/http सामान्यीकृत कर देता हैgit clone https://github.com/devploit/nomore403
cd nomore403
go build
go install github.com/devploit/nomore403@latest
यदि आप go install के साथ स्थापित करते हैं, तो payloads/ निर्देशिका स्वचालित रूप से स्थापित नहीं होती है। रिपॉजिटरी को क्लोन करें और यदि आवश्यक हो तो -f के साथ टूल को उस निर्देशिका की ओर इंगित करें।
PATH में curl उपलब्ध हो जो इस पर निर्भर करती हैं, जैसे:
http-versionshttp-parserabsolute-uriअधिकांश तकनीकें curl के बिना काम करती हैं।
मूल स्कैन:
./nomore403 -u https://target.tld/admin
प्रॉक्सी और वर्बोज़ आउटपुट का उपयोग करें:
./nomore403 -u https://target.tld/admin -x http://127.0.0.1:8080 -v
केवल चयनित तकनीकें चलाएँ:
./nomore403 -u https://target.tld/admin -k headers,absolute-uri,raw-desync
Stdin से लक्ष्य पढ़ें:
cat urls.txt | ./nomore403
Burp-शैली अनुरोध फ़ाइल का उपयोग करें:
./nomore403 --request-file request.txt
मशीन-पठनीय आउटपुट लिखें:
./nomore403 -u https://target.tld/admin --jsonl -o findings.jsonl
target: https://target.tld/admin method: GET frontend: AWS ELB/ALB payloads: payloads
calib: 404 | 1245b | ±50 | frag 703b
BASELINE
default 403 520 bytes https://target.tld/admin
FINDINGS
hdr-ip 100! 200 2048 bytes X-Original-URL: /
abs-uri 26. 403 236 bytes request-target: https://target.tld/admin
http 18. 400 122 bytes HTTP/2
no visible results: 17 techniques
━━━━━━━━━━━━━━ LIKELY BYPASS ━━━━━━━━━━━━━━━━━
[!100 HIGH] Header injection (IP) 403=>200 2048b
why: status 403->200, len Δ1528, body changed, type changed
item: X-Original-URL: /
curl: curl -i -sS -k -H 'User-Agent: nomore403' -H 'X-Original-URL: /' 'https://target.tld/admin'
प्रत्येक दृश्यमान पंक्ति एक प्रतिक्रिया है जो फ़िल्टरिंग से बचने के लिए आधार रेखा से पर्याप्त रूप से भिन्न थी।
सामान्य फ़ील्ड:
hdr-ip, abs-uri, या parser18., 61+, या 100!अंतिम सारांश आधार-रेखा से परिणाम तक संक्रमण दिखाते हैं:
403=>200 आमतौर पर तत्काल ध्यान देने योग्य403=>302 दिलचस्प हो सकता है, लेकिन फिर भी प्रमाणीकरण अवरोध में वापस जा सकता है403->400 या 403->404 आमतौर पर बाईपास के बजाय पार्सर या रूटिंग अंतर दर्शाते हैंरन के अंत में, nomore403 प्रिंट करता है:
LIKELY BYPASS
curl शामिल हैINTERESTING VARIATIONS
no visible results
स्कोरिंग अनुमानात्मक है। इसका उद्देश्य परिणामों को प्राथमिकता देना है, शोषण को साबित करना नहीं।
टूल आमतौर पर पुरस्कार देता है:
2xx में संक्रमण3xx में संक्रमणLocation परिवर्तनटूल आमतौर पर डाउन-रैंक करता है:
400 और 404 मामले जब तक कि प्रतिक्रिया भी काफी बदल न जाएअनुशंसित व्याख्या:
HIGH: संभावित रूप से कार्रवाई योग्य; पहले समीक्षा करेंMED: प्रशंसनीय उम्मीदवार; आमतौर पर मैन्युअल रीप्ले के योग्यLOW: पार्सर अंतर, रूटिंग विसंगति, या कम-विश्वास व्यवहारगैर-वर्बोज़ मोड में ऑटो-कैलिब्रेशन डिफ़ॉल्ट रूप से सक्षम है।
यह कई गैर-मौजूद पथों पर अनुरोध भेजता है और लक्ष्य के डिफ़ॉल्ट त्रुटि व्यवहार के लिए एक आधार रेखा बनाता है। यह फ़्रैगमेंट-स्ट्रिप किए गए पथों के कारण होने वाली झूठी सकारात्मकता को कम करने के लिए एक फ़्रैगमेंट-आधारित कैलिब्रेशन अनुरोध भी करता है।
इसे नियंत्रित करने के लिए इन फ़्लैग्स का उपयोग करें:
--no-calibrate
--strict-calibrate
Location, Content-Type, और Server जैसे प्रमुख हेडर की भी तुलना करेंटूल डिफ़ॉल्ट रूप से सभी तकनीकों को चलाता है जब तक कि आप -k निर्दिष्ट न करें।
verbs
payloads/httpmethods से वैकल्पिक HTTP विधियाँverbs-case
method-override
headers
hop-by-hop
Connection का उपयोग कर hop-by-hop स्ट्रिपिंग ट्रिक्सheader-confusion
X-Original-URL जैसे रीराइट और पथ-ओवरराइड हेडरhost-override
forwarded-trust
Forwarded, Client-IP, Cluster-Client-IP, और संबंधित ट्रस्ट चेनproto-confusion
X-Forwarded-Proto, , और संबंधित स्कीम संकेतendpaths
payloads/endpaths से प्रत्यय और पथ-अंत म्यूटेशनmidpaths
payloads/midpaths से पथ सम्मिलन और ट्रैवर्सल-शैली म्यूटेशनdouble-encoding
unicode
%uXXXX और ओवरलॉन्ग UTF-8 पथ वेरिएंटpath-case
path-normalization
suffix-tricks
.json, .css, , और प्रारूप-शैली क्वेरी टॉगलhttp-versions
HTTP/1.0 और HTTP/2 में एक ही अनुरोध की तुलना करता हैhttp-parser
http-versions से अलग क्लाइंट/फ्रंटएंड पार्सर अंतर उजागर करने के लिए जानबूझकर न्यूनतम curl अनुरोध भेजता हैabsolute-uri
curl --request-target के माध्यम से पूर्ण-रूप अनुरोध लक्ष्यों का उपयोग करता हैraw-duplicates
raw-authority
raw-desync
कुछ तकनीकों को वायर-स्तरीय नियंत्रण की आवश्यकता होती है जो Go का net/http क्लाइंट प्रदान नहीं करता है। वे तकनीकें रॉ HTTP इंजन का उपयोग करती हैं।
रॉ तकनीकों में वर्तमान में शामिल हैं:
raw-duplicatesraw-authorityraw-desync%uXXXX यूनिकोड पथ अनुरोधनोट:
टूल फ्रंटएंड संकेतों का अनुमान लगा सकता है जैसे:
इन संकेतों का उपयोग तकनीक ऑर्डरिंग और आउटपुट संदर्भ में सुधार करने के लिए किया जाता है।
महत्वपूर्ण:
-k का उपयोग नहीं करते, टूल अभी भी पूर्ण डिफ़ॉल्ट तकनीक सेट चलाता हैउच्च-मूल्य वाले परिणामों को अंतिम सारांश में स्वचालित रूप से रीप्ले किया जाता है।
रीप्ले आउटपुट इन सवालों के जवाब देने में मदद करता है:
अंतिम सारांश में शामिल हैं:
1/1 या 2/2 matched on replaycurl कमांड./nomore403 -u https://target.tld/admin
./nomore403 -u targets.txt
cat targets.txt | ./nomore403
./nomore403 --request-file request.txt
अनुरोध फ़ाइलें तब उपयोगी होती हैं जब Burp या किसी अन्य प्रॉक्सी में कैप्चर किए गए ट्रैफ़िक को रीप्ले किया जा रहा हो।
--payload-position का उपयोग करें जब आप बिल्ट-इन एंडपाथ और मिडपाथ म्यूटेशन तर्क पर भरोसा करने के बजाय स्पष्ट मार्करों पर पेलोड इंजेक्ट करना चाहते हैं।
उदाहरण:
./nomore403 -u 'https://target.tld/§100§/admin/§200§' -p §
./nomore403 -u https://target.tld/admin
./nomore403 -u https://target.tld/admin -x http://127.0.0.1:8080 -v
./nomore403 -u https://target.tld/admin -k absolute-uri,raw-duplicates,raw-authority,raw-desync
./nomore403 -u https://target.tld/admin -i 10.0.0.5
./nomore403 -u https://target.tld/admin --jsonl -o findings.jsonl
पूर्ण अद्यतन CLI के लिए ./nomore403 --help चलाएँ।
मुख्य फ़्लैग्स:
-u, --uri
-k, --technique
-x, --proxy
-H, --header
-i, --bypass-ip
-v, --verbose
--json
--jsonl
--no-calibrate
--strict-calibrate
--retry-count
डिफ़ॉल्ट मोड इंटरैक्टिव समीक्षा और ट्राइएज के लिए अनुकूलित है।
एकल संरचित दस्तावेज़ के लिए --json का उपयोग करें।
--jsonl का उपयोग करें जब आप चाहते हैं:
payloads/ निर्देशिका में कई तकनीकों द्वारा उपयोग की जाने वाली सूचियाँ हैं।
वर्तमान फ़ाइलों में शामिल हैं:
httpmethodsheadersipssimpleheadersendpathsmidpathsuseragentsआप इन फ़ाइलों को अपने लक्ष्यों या कार्यप्रवाह के अनुरूप अनुकूलित कर सकते हैं।
curl-आधारित तकनीकों के लिए PATH में curl की आवश्यकता होती हैइस टूल का उपयोग केवल उन सिस्टमों पर करें जिनका परीक्षण करने के लिए आप अधिकृत हैं।
लेखक और योगदानकर्ता दुरुपयोग के लिए जिम्मेदार नहीं हैं। लागू कानून, कार्यक्रम नियमों और संगठनात्मक नीति का पालन करना आपकी जिम्मेदारी है।
योगदान का स्वागत है।
उपयोगी योगदान क्षेत्रों में शामिल हैं:
तकनीक का योगदान करने से पहले, प्राथमिकता दें:
यह प्रोजेक्ट MIT लाइसेंस के अंतर्गत जारी किया गया है। LICENSE देखें।
X-Forwarded-Portip-encoding
;index.htmlpayload-position
--retry-backoff-ms
--host-delay
--top-score-min
LIKELY BYPASS के लिए न्यूनतम स्कोर--variation-score-min
INTERESTING VARIATIONS के लिए न्यूनतम स्कोर--top
0