Pentest & Bug Bounty
  • 🥷Pentest et Bug Bounty
    • 👾Pentest Methodology
    • 💸Bug Bounty Methodology
      • 📓Ecrire un bon rapport
      • ⚖️Aspect Juridique (FR)
  • 👣OSINT / Recon
    • 🧦Sock Puppet
    • 🧠Mindmaps
    • 🏢Entreprise
    • 👀Leaks
    • 👊Manuel / Dorks
      • Google dorks
      • Github dorks
      • Twitter Dorks
      • Shodan Dorks
    • 👥Réseaux sociaux (SOCMINT)
      • 🕵️Telegram OSINT
      • 👻Snapchat OSINT
      • 🤵‍♂️Linkedin OSINT
      • 🗣️Facebook OSINT
      • 🎼Tik tok OSINT
      • 📷Instagram OSINT
      • 🐦Twitter OSINT
      • 🔊Discord OSINT
    • 🖇️Domaines et Sous-domaines
    • 🚪Scan de ports / web
    • ✉️Emails
    • 🔗Réseau
    • 📷Screenshots
    • 📹Live camera
    • 🧔Reconnaissance faciale / images
    • 🌆Images
    • 🗺️Maps
    • 👁️Active Directory
    • ☁️Cloud
    • Autre
  • 🌐Pentest Web
    • ✊Brute force / Fuzzing
    • 💉Injections
      • 🍪XSS
        • PDF injection
      • 📄HTMLi
      • 📃XXE
      • 7️⃣SSTI
      • 🔢SQLi
        • 👫UNION based
        • ⏳Time based
        • 🥽Boolean based / Error Based
        • 📤Out-Of-Band
      • ↩️CRLF
      • 🐚OS injection
      • ☕Log4Shell
      • 🥠CSV
      • 🍻ESI
      • 😎XSLT
      • 💌Injections dans emails
      • 🔀ELi
        • OGNLi
    • ↪️Open redirect
    • 📁Path Traversal / LFI / RFI
    • 🔓Bypass
      • 〰️WAF / Filter bypass
      • 2️2FA
    • ☠️Charges utiles
    • 📚CMS (Content Management System)
      • WordPress
      • Joomla!
      • Magento
      • Drupal
    • 🎭SOP bypass
      • CORS
      • postMessage()
      • JSONP
    • 🖱️Clickjacking
    • ⚙️Insecure deserialization
    • ☣️Web Cache Poisoning / Deception
    • 🤝HTTP Smuggling
    • 👋OAuth
    • ⛔SAML
    • 🗝️JSON Web Token
    • 🎣CSRF
      • 🚀Cross-site WebSocket Hijacking (CSWSH)
    • 🎯IDOR
    • 🕹️SSRF
      • Cloud SSRF
      • Protocol Smuggling
    • ⚙️APIs
      • 🍽️REST
      • 📶GraphQL
    • ❓Mot de passe oublié
    • 🛒Fonctions d'achat et de facturation
    • 👽Broken authentication / register
    • 🏁Panneaux d'administration
    • ⏬Upload features
    • 🔗Broken Link Hijacking
    • 🎮Prise de contrôle de sous-domaine
    • 🛂Prise de contrôle de DNS
    • ☝️One liners
    • 🚧Misconfigurations
    • 🗿Analyse statique
      • PHP
      • Ruby On Rails
      • Perl
      • JAVA
      • Javascript
      • Python
      • Golang
      • .NET
    • 🪣AWS S3
    • 🤖Captcha
    • 🪞Race conditions
    • ☄️.git exposé
    • 💭Business logic
    • 🥡Prototype pollution
    • 💣Dependency confusion
    • 🛑DoS
      • 🤯ReDoS
      • 👏Hash flooding
      • 🧨Cookie bomb
    • Autre
      • Flask
      • Symphony
      • Spring Boot
      • Django
      • Jenkins
  • 🌩️Pentest Cloud
    • IaC (Infrastructure as Code)
      • Terraform
      • Helm
      • Kustomize
    • AWS
      • Enumeration
    • Azure
      • Entra ID
      • Azure Resource Manager (ARM)
        • Enumeration
    • GCP
      • GCP IAM
      • Authentification
      • Enumeration
    • Kubernetes
  • 🕸️Pentest Réseau
    • 🪡Protocoles réseau
    • 📡Wifi
    • 🔋BLE
    • 📍VPN
  • 🗂️Pentest AD
    • 👺GPP
    • ➡️Mouvements latéraux
      • 🔪Pass The Hash
      • 🗡️Over Pass The Hash
    • 📜ADCS
  • 📱Pentest Mobile
    • 🤖Android
      • 👾Méthodologie
      • 🌳Setup environnement
      • 🍇Collecte d'informations
      • 🔠Enumeration des données locales
      • 🔙Reverse engineering
        • 🪢Dé-obfuscation
      • ⛰️Analyse statique (Android)
      • 🐞Debug
      • 🎰Stockage de données non sécurisé
        • 📰Logs
        • 🤝Shared Preferences
        • 🔤Strings
        • 🗄️SQLite DB
        • 🗃️Realm DB
        • 🧠Mémoire
        • 📍Copy/Paste buffer caching
        • ⌨️Keyboard press caching
        • 🔙Backup
        • Carte SD
      • 🌩️Firebase/Appspot misconfig
      • 🔗Deeplinks vulns
        • Interception de contenu
        • WebView hijacking (via deeplink)
        • Invalid Digital assets links
      • 🖼️WebView vulns
        • WebView Hijacking
        • Exfiltration de données
        • RXSS
        • Vol de token
      • Guides outils
        • ⛏️Outil Drozer
          • Injections SQL (Android)
          • Path traversal (Android)
        • 🔬Outil Objection
        • 🪝Outil Frida
        • Outil Medusa / Mango
      • Bypass
        • 📲Contournement de détection d'emulateur
          • 📂Fichiers d'emulateurs
          • 🙋‍♂️Network Operator Name
        • 🦷Contournement des détections de rootage
          • 🧮Root management
          • 🗝️Clé de signature du noyau
          • 🧊Props dangereux
          • 🦸‍♂️Binaire "su"
          • ❌Permissions sur les repertoires
        • ☝️Contournement des protections biometriques
        • 📜SSL pinning bypass
        • Contournement de code PIN
      • 🔳Lecteur de code QR/EAN/Barres...
      • 💔Injection de backdoor
      • 🪧Task hijacking
      • 🎭Overlay attacks
        • Tapjacking
        • Invisible Keyboard
      • 📵Résilience
        • ⌨️Third Party Keyboards
        • ©️Allowed Copy/Paste on sensitive fields
        • 🛤️Background screen caching
        • 🖋️Schémas de signature
        • ⬆️In-App updates
      • 🤯Corruption de Mémoire
    • 🍏iOS
      • 🥅Méthodologie
      • 🧱Setup environnement (iOS)
      • ⏮️Reverse engineering (iOS)
      • 🏔️Analyse statique (iOS)
      • 🧿Contournement de détection de Jailbreak
      • 📌SSL pinning bypass (iOS)
      • 👇Contournement d'authentification biométrique
      • 🐛Contournement d'anti-Hooking/Debugging
      • 🙈Stockage de données non sécurisé (iOS)
        • 💭Mémoire (iOS)
        • 🏓Copy/Paste buffer caching (iOS)
        • 🍪Cookies (iOS)
        • 🗞️Logs (iOS)
        • ⌨️Cache du clavier (IOS)
        • Backup (IOS)
      • 📱Background screen caching
      • 🧑‍🚀WebView vulns (iOS)
      • Deeplinks vulns (iOS)
      • Lecteur de code QR
      • Firebase misc
  • 👷Pentest physique
    • 🔐Crochetage
    • 💳RFID
    • ⚙️Equipements
    • 💾Hardware Hacking
      • 📈UART
      • 🧪JTAG
      • ⚡SWD
      • 🪢SPI
      • 🚌I²C
      • 🔴Fault Injection
      • Side-Channel Attacks
    • 🐣Firmware hacking
  • 🖨️Pentest IoT
    • ⏪Replay de stream camera
    • 🗣️Assistants vocaux
    • 📹Camera IP
    • ⬇️DoS
    • 🖨️Imprimantes
    • 🎬Chromecast
  • 💀Hacking protocols
    • 😩Telnet - port 23
    • 🔐SSH - port 22
    • 📤FTP - port 21
    • ❔Whois - port 43
    • 👉DNS - port 53
    • 🐕‍🦺Kerberos - port 88
    • 💼SNMP - ports 161-162
    • 📨SMB - ports 445-139
    • 📧SMTP - ports 25-587
    • 🎦RTSP - port 554
    • 🔎MS-RPC - ports 135-593
    • ➕Rsync - port 873
    • 🔢MS-SQL - port 1433
    • 🏗️Docker - port 2375
    • 🔡MySQL - port 3306
    • 📝LDAP - ports 389, 636, 3268, 3269
    • 🖥️RDP - port 3389
    • ⌨️VNC - ports 5800,5801,5900,5901
  • 😈Ingénierie sociale
    • 🧠Concepts / Principes / Attaques
    • 🪧Ethique
    • 👤Profils comportementaux
  • 🔓Crack
  • 🛠️Autres outils utiles
    • 🚿Sandbox / Sanitizer
    • 🔤Générateurs de wordlists personnalisées
  • 🌜Post-Exploitation
    • 👔Énumération /Élévation de privilèges
      • 🐧Linux
        • CVE-2022-0847 (Dirty Pipe)
        • CVE 2021-4034 (PwnKit)
        • CVE 2021-3560 (Polkit)
      • 🪟Windows
        • 🖨️PrintNightmare
        • 🖨️SpoolFool
        • 🆔Usurpation de SAMAccountName
        • ⏲️Scheduled task/job (T1573.005)
        • 🐝HiveNightmare
        • 🔑Stored Credentials
        • 🎩SeImpersonatePrivilege
        • 🎒SeBackupPrivilege
        • 🍞Unquoted Service Path
        • 🧩DLL Hijacking
        • ©️SeBackupPrivilege
      • ⛴️Docker
    • 👻Effacement des traces
    • ⚓Persistance / Downloaders
    • 🛡️Defense evasion
    • 📦Exfiltration de Données
  • 🔎Forensic
    • 💡Méthodologie
    • 📺Live forensic
    • 💻Mémoire non volatile
    • 🕊️Mémoire volatile
    • 📄File forensic
Propulsé par GitBook
Sur cette page
  • Connexion avec Google
  • Longue chaîne de caractères pour bypass la vérification
  • Remplacement d'utilisateur existant
  • XSS
  • Rate limit
  • JSON bruteforce
  • JSON object injection
  • Authentification basic HTTP
  • Utiliser le lien de vérification comme lien de réinitialisation de mot de passe
  • Account takeover via lien de confirmation
  • Mindmap

Cet article vous a-t-il été utile ?

  1. Pentest Web

Broken authentication / register

Connexion avec Google

étapes:

  • Aller dans connexion avec google

  • Remplir les informations

  • Intercepter la requête avec Burp Suite

  • Decoder la signature qui est en base64

  • Changer l'email et réencoder la nouvelle signature

  • Se connecter avec la nouvelle signature

  • Si cette technique fonctionne vous devriez être connecté avec une fausse adresse mail

Longue chaîne de caractères pour bypass la vérification

  • Interface d'administration lorsqu'on se connecte avec email interne

  • Enregistrez vous avec un email très long.

Exemple:

very-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-stringvery-long-string@mail.com

  • Dans "mon compte", regardez si l'email a été coupé à un point.

  • Si c'est le cas, modifiez votre email pour qu'il soit coupé exactement à la fin du préfix de l'email cible.

Pour que cela fonctionne, le site doit ne pas faire de vérification au changement d'email ce qui est rare.

Remplacement d'utilisateur existant

Le remplacement d'utilisateur existant se produit lorsqu'une application nous permet de nous inscrire avec la même adresse e-mail, nom d'utilisateur ou numéro de téléphone plusieurs fois. Cela peut avoir des conséquences critiques en fonction du type d'attaque effectuée.

étapes:

  • Créez un premier compte dans l'application avec un e-mail et un mot de passe.

  • Déconnectez-vous du compte et créez un autre compte avec le même e-mail et un mot de passe différent.

  • Vous pouvez même essayer des variantes de l'e-mails dans certains cas, exemple: target@gmail.com en TarGet@gmail.com.

  • Si vous arrivez à vous connecter avec le nouveau mot de passe alors la cible est vulnérable.

XSS

Charge utile pour le champ Nom d'utilisateur :

<img src=x onerror=alert(1)>

Charge utile pour le champ E-mail:

"><svg/onload=confirm(1)>" @gmail.com

Rate limit

S'il n'y a pas de limitation de débit sur la page d'inscription, des utilisateurs malveillants peuvent générer des centaines et des milliers de faux comptes qui conduisent à remplir la base de données de l'application avec de faux comptes, ce qui peut avoir un impact sur l'entreprise de plusieurs façons.

Vous pouvez facilement le tester avec Burp Intruder.

  • Capturez la demande d'inscription et envoyez-la dans l'Intruder.

  • Ajoutez différents e-mails en tant que charge utile.

  • Lancez l'Intruder et vérifiez s'il renvoie 200 OK.

JSON bruteforce

Si la requête de connexion est en json, il est possible de tenter de bruteforce le mot de passe d'un utilisateur comme ceci:

exemple de requête:

{
    "username":"<username>",
    "password":"",
    "":""
}

attaque par dictionnaire:

En créant un tableau json contenant les mots de passe à tester on va faire en sorte que chacun d'entre eux soient traités par le serveur en une seule requête ce qui va nous permettre de contourner une éventuelle limite de requête de connexion.

{
    "username":"<username>",
    "password":[
    "1234",
    "1111",
    "0000",
    "password",
    "azerty",
    ...
    ...
    "root"
    ]
}

JSON object injection

{
    "email": {
        "email":1
        }
    "password":"valid password",
}

Authentification basic HTTP

Bien qu'assez ancienne, sa simplicité relative et sa facilité de mise en œuvre signifient que vous pouvez parfois voir l'authentification de base HTTP utilisée. Dans l'authentification de base HTTP, le client reçoit un jeton d'authentification du serveur, qui est construit en concaténant le nom d'utilisateur et le mot de passe, et en le codant en Base64. Ce jeton est stocké et géré par le navigateur, qui l'ajoute automatiquement à l' en-tête Authorization de chaque requête suivante comme suit :

Authorization: Basic base64(username:password)

Pour un certain nombre de raisons, cela n'est généralement pas considéré comme une méthode d'authentification sécurisée. Premièrement, cela implique d'envoyer à plusieurs reprises les identifiants de connexion de l'utilisateur à chaque demande. À moins que le site Web n'implémente également HSTS, les informations d'identification des utilisateurs sont susceptibles d'être capturées lors d'une attaque de type "man-in-the-middle".

De plus, les implémentations de l'authentification de base HTTP ne prennent souvent pas en charge la protection contre la force brute. Comme le jeton se compose exclusivement de valeurs statiques, cela peut le rendre vulnérable à la force brute.

L'authentification de base HTTP est également particulièrement vulnérable aux exploits liés à la session, notamment CSRF , contre lesquels elle n'offre aucune protection par elle-même.

Dans certains cas, l'exploitation d'une authentification de base HTTP vulnérable ne peut accorder à un attaquant qu'un accès à une page apparemment inintéressante. Cependant, en plus de fournir une surface d'attaque supplémentaire, les informations d'identification ainsi exposées peuvent être réutilisées dans d'autres contextes plus confidentiels.

Utiliser le lien de vérification comme lien de réinitialisation de mot de passe

Si le site utilise la même méthode pour générer des tokens de vérification de mot de passe et de réinitialisation de mot de passe il est possible d'utiliser un token de vérification pour prendre le contrôle d'un compte et inversement.

Exemple d'un rapport:

https://target.com/user/validate_link?step=account&verify_link=XXXXXX => account verified

supprimer l'étape "step=account".

httsp://target.com/user/validate_link?verify_link=XXXXXXX => password reset

Account takeover via lien de confirmation

  • Créer deux utilisateurs (attacker@mail.xyz et victim@mail.xyz)

  • Remplacer l'email de attacker@mail.xyz par attacker2@mail.xyz

  • Un email de confirmation est envoyé à attacker2@mail.xyz

  • Ouvrir le lien avec le navigateur de la victime

  • Vérifier si l'email de la victime a été remplacé par attacker2@mail.xyz

Mindmap

PrécédentFonctions d'achat et de facturationSuivantPanneaux d'administration

Dernière mise à jour il y a 1 an

Cet article vous a-t-il été utile ?

🌐
👽