mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
119 lines
9.4 KiB
Markdown
119 lines
9.4 KiB
Markdown
# 403 & 401 Bypasses
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|
||
|
||
## 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 हेडर** को किसी मनमाने मान में बदलें ([यहाँ काम किया](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
|
||
- संसाधन तक पहुँचने के लिए [**अन्य उपयोगकर्ता एजेंटों का उपयोग करने की कोशिश करें**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt)।
|
||
- **HTTP हेडर को फज़ करें**: HTTP प्रॉक्सी **हेडर**, HTTP प्रमाणीकरण बेसिक और NTLM ब्रूट-फोर्स (केवल कुछ संयोजनों के साथ) और अन्य तकनीकों का उपयोग करने की कोशिश करें। इसके लिए मैंने उपकरण [**fuzzhttpbypass**](https://github.com/carlospolop/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**](../../pentesting-web/http-request-smuggling/index.html) **या** [**hop-by-hop हेडर**](../../pentesting-web/abusing-hop-by-hop-headers.md)** का दुरुपयोग करने की कोशिश करें।**
|
||
- विभिन्न प्रतिक्रियाओं की तलाश में [**विशेष HTTP हेडर**](special-http-headers.md) को फज़ करें।
|
||
- **HTTP विधियों** को फज़ करते समय विशेष HTTP हेडर को फज़ करें।
|
||
- **Host हेडर को हटा दें** और शायद आप सुरक्षा को बायपास करने में सक्षम होंगे।
|
||
|
||
## Path **Fuzzing**
|
||
|
||
यदि _/path_ अवरुद्ध है:
|
||
|
||
- `/%2e/path` का उपयोग करने की कोशिश करें (यदि पहुँच प्रॉक्सी द्वारा अवरुद्ध है, तो यह सुरक्षा को बायपास कर सकता है)। `/%252e**/path` (डबल URL एन्कोड) का भी प्रयास करें।
|
||
- **Unicode बायपास** का प्रयास करें: _/**%ef%bc%8f**path_ (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)
|
||
- निम्नलिखित स्थितियों में [**इस सूची**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/Unicode.txt) का उपयोग करें:
|
||
- /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 मान** बदलें: **`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 अनुरोध भेजकर सर्वर को **तनाव में डालने** की कोशिश करें ([यह इस व्यक्ति के लिए फेसबुक के साथ काम किया](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125))।
|
||
- **प्रोटोकॉल बदलें**: http से https में, या https से http में
|
||
- [**https://archive.org/web/**](https://archive.org/web/) पर जाएं और जांचें कि क्या अतीत में वह फ़ाइल **विश्व स्तर पर सुलभ** थी।
|
||
|
||
## **Brute Force**
|
||
|
||
- **पासवर्ड का अनुमान लगाएं**: निम्नलिखित सामान्य क्रेडेंशियल्स का परीक्षण करें। क्या आप पीड़ित के बारे में कुछ जानते हैं? या CTF चुनौती का नाम?
|
||
- [**Brute force**](../../generic-hacking/brute-force.md#http-brute)**:** मूल, डाइजेस्ट और NTLM प्रमाणीकरण का प्रयास करें।
|
||
```:Common creds
|
||
admin admin
|
||
admin password
|
||
admin 1234
|
||
admin admin1234
|
||
admin 123456
|
||
root toor
|
||
test test
|
||
guest guest
|
||
```
|
||
## Automatic Tools
|
||
|
||
- [https://github.com/lobuhi/byp4xx](https://github.com/lobuhi/byp4xx)
|
||
- [https://github.com/iamj0ker/bypass-403](https://github.com/iamj0ker/bypass-403)
|
||
- [https://github.com/gotr00t0day/forbiddenpass](https://github.com/gotr00t0day/forbiddenpass)
|
||
- [Burp Extension - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
|
||
- [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster)
|
||
- [NoMoreForbidden](https://github.com/akinerk/NoMoreForbidden)
|
||
|
||
|
||
{{#include ../../banners/hacktricks-training.md}}
|