403 & 401 Bypasses

Reading time: 5 minutes

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें

HTTP Verbs/Methods Fuzzing

फाइल तक पहुँचने के लिए विभिन्न क्रियाओं का उपयोग करने की कोशिश करें: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK

  • प्रतिक्रिया हेडर की जाँच करें, शायद कुछ जानकारी दी जा सकती है। उदाहरण के लिए, HEAD के लिए 200 प्रतिक्रिया के साथ Content-Length: 55 का मतलब है कि HEAD क्रिया जानकारी तक पहुँच सकती है। लेकिन आपको अभी भी उस जानकारी को निकालने का एक तरीका खोजना होगा।
  • X-HTTP-Method-Override: PUT जैसे HTTP हेडर का उपयोग करने से उपयोग की गई क्रिया को ओवरराइट किया जा सकता है।
  • TRACE क्रिया का उपयोग करें और यदि आप बहुत भाग्यशाली हैं तो शायद प्रतिक्रिया में आप मध्यवर्ती प्रॉक्सी द्वारा जोड़े गए हेडर भी देख सकते हैं जो उपयोगी हो सकते हैं।

HTTP Headers Fuzzing

  • Host हेडर को किसी मनमाने मान में बदलें (यहाँ काम किया)

  • संसाधन तक पहुँचने के लिए अन्य यूजर एजेंट्स का उपयोग करने की कोशिश करें

  • HTTP हेडर को फज़ करें: HTTP प्रॉक्सी हेडर, HTTP प्रमाणीकरण बेसिक और NTLM ब्रूट-फोर्स (केवल कुछ संयोजनों के साथ) और अन्य तकनीकों का उपयोग करने की कोशिश करें। इसके लिए मैंने उपकरण fuzzhttpbypass बनाया है।

  • X-Originating-IP: 127.0.0.1

  • X-Forwarded-For: 127.0.0.1

  • X-Forwarded: 127.0.0.1

  • Forwarded-For: 127.0.0.1

  • X-Remote-IP: 127.0.0.1

  • X-Remote-Addr: 127.0.0.1

  • X-ProxyUser-Ip: 127.0.0.1

  • X-Original-URL: 127.0.0.1

  • Client-IP: 127.0.0.1

  • True-Client-IP: 127.0.0.1

  • Cluster-Client-IP: 127.0.0.1

  • X-ProxyUser-Ip: 127.0.0.1

  • Host: localhost

यदि पथ सुरक्षित है तो आप इन अन्य हेडरों का उपयोग करके पथ सुरक्षा को बायपास करने की कोशिश कर सकते हैं:

  • X-Original-URL: /admin/console

  • X-Rewrite-URL: /admin/console

  • यदि पृष्ठ प्रॉक्सी के पीछे है, तो शायद प्रॉक्सी आपको निजी जानकारी तक पहुँचने से रोक रही है। HTTP Request Smuggling या hop-by-hop headers** का दुरुपयोग करने की कोशिश करें।**

  • विभिन्न प्रतिक्रियाओं की तलाश में विशेष HTTP हेडर को फज़ करें।

  • HTTP विधियों को फज़ करते समय विशेष HTTP हेडर को फज़ करें।

  • Host हेडर को हटा दें और शायद आप सुरक्षा को बायपास करने में सक्षम होंगे।

Path Fuzzing

यदि /path अवरुद्ध है:

  • /**%2e/path का उपयोग करने की कोशिश करें _(यदि पहुँच प्रॉक्सी द्वारा अवरुद्ध है, तो यह सुरक्षा को बायपास कर सकता है)। _** /%252e**/path (डबल URL एन्कोड) का भी प्रयास करें
  • Unicode बायपास का प्रयास करें: /%ef%bc%8fpath (URL एन्कोडेड वर्ण जैसे "/" हैं) इसलिए जब इसे फिर से एन्कोड किया जाएगा तो यह //path होगा और शायद आप पहले से ही /path नाम की जाँच को बायपास कर चुके होंगे।
  • अन्य पथ बायपास:
  • site.com/secret –> HTTP 403 Forbidden
  • site.com/SECRET –> HTTP 200 OK
  • site.com/secret/ –> HTTP 200 OK
  • site.com/secret/. –> HTTP 200 OK
  • site.com//secret// –> HTTP 200 OK
  • site.com/./secret/.. –> HTTP 200 OK
  • site.com/;/secret –> HTTP 200 OK
  • site.com/.;/secret –> HTTP 200 OK
  • site.com//;//secret –> HTTP 200 OK
  • site.com/secret.json –> HTTP 200 OK (ruby)
  • निम्नलिखित स्थितियों में इस सूची का उपयोग करें:
  • /FUZZsecret
  • /FUZZ/secret
  • /secretFUZZ
  • अन्य API बायपास:
  • /v3/users_data/1234 --> 403 Forbidden
  • /v1/users_data/1234 --> 200 OK
  • {“id”:111} --> 401 Unauthorized
  • {“id”:[111]} --> 200 OK
  • {“id”:111} --> 401 Unauthorized
  • {“id”:{“id”:111}} --> 200 OK
  • {"user_id":"<legit_id>","user_id":"<victims_id>"} (JSON Parameter Pollution)
  • user_id=ATTACKER_ID&user_id=VICTIM_ID (Parameter Pollution)

Parameter Manipulation

  • param value बदलें: id=123 --> id=124
  • URL में अतिरिक्त पैरामीटर जोड़ें: ?id=124 —-> id=124&isAdmin=true
  • पैरामीटर हटा दें
  • पैरामीटर को पुनः क्रमबद्ध करें
  • विशेष वर्णों का उपयोग करें।
  • पैरामीटर में सीमा परीक्षण करें — जैसे -234 या 0 या 99999999 (केवल कुछ उदाहरण मान) प्रदान करें।

Protocol version

यदि HTTP/1.1 का उपयोग कर रहे हैं तो 1.0 का उपयोग करने की कोशिश करें या यह भी परीक्षण करें कि क्या यह 2.0 का समर्थन करता है।

Other Bypasses

  • डोमेन का IP या CNAME प्राप्त करें और प्रत्यक्ष संपर्क करने की कोशिश करें।
  • सामान्य GET अनुरोध भेजकर सर्वर को तनावित करने की कोशिश करें (यह इस व्यक्ति के लिए फेसबुक के साथ काम किया).
  • प्रोटोकॉल बदलें: http से https में, या https से http में
  • https://archive.org/web/ पर जाएं और जांचें कि क्या अतीत में वह फ़ाइल विश्व स्तर पर सुलभ थी।

Brute Force

  • पासवर्ड का अनुमान लगाएं: निम्नलिखित सामान्य क्रेडेंशियल्स का परीक्षण करें। क्या आप पीड़ित के बारे में कुछ जानते हैं? या CTF चुनौती का नाम?
  • Brute force: बुनियादी, डाइजेस्ट और NTLM प्रमाणीकरण का प्रयास करें।
Common creds
admin    admin
admin    password
admin    1234
admin    admin1234
admin    123456
root     toor
test     test
guest    guest

Automatic Tools

tip

AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE)
GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks का समर्थन करें