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
  • Account takeover
  • Cas 1: Session active après suppression du compte
  • Cas 2: Absence de suppression définitive du compte
  • Cas 3: Majuscules et minuscules
  • Cas 4: Normalisation unicode
  • Cas 5: Lien d'invitation non vérifié
  • Cas 6: Reset link n'expire pas après modification de l'email
  • Cas 7: Email verification bypass
  • Mauvaise gestion des sessions
  • Cas 1: Session active après renommage du compte
  • Bypass de politique de mot de passe
  • Cas 1: Changment de mot de passe
  • E-commerce
  • Confiance excessive dans les contrôles côté client
  • Incapacité à traiter les entrées non attendues
  • Bruteforce de mot de passe via fonction de password reset
  • Cryptographic flaw example
  • Race condition on login form lead to information disclosure
  • Ressources

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

  1. Pentest Web

Business logic

Les vulnérabilités de logique business sont très diverses et variées étant donné qu'elle dépendent de chaque cible et de chaque secteur professionnel.

Les exemples ci-dessous font partie d'un infime échantillon de ce qui peut être retrouvé.

Account takeover

Cas 1: Session active après suppression du compte

  • Connexion en tant qu'attaquant avec un compte random.

  • Demande de suppression du compte au staff.

  • Rafraichir la page.

Si toujours connecté après rafraichissement:

  • Aller dans le profil pour vérifier qu'il est bien supprimé.

  • Créer un deuxième compte avec un autre nom d'utilisateur.

  • Changer son username en celui qui a été supprimé.

  • Rafraichir la page du navigateur attaquant.

  • Retourner dans le profil.

  • Si le profil correspond maintenant au deuxième compte alors la manipulation a fonctionné.

Cas 2: Absence de suppression définitive du compte

  • Créer un compte

  • Faire des modifications

  • Supprimer le compte

  • Recréer un compte avec les mêmes informations

  • Si on retrouve les données enregistrés sur le compte supprimé alors la manipulation a fonctionné.

Cas 3: Majuscules et minuscules

  • Créer un compte (exp: RandomAccount)

  • Faire des modifications

  • Créer un deuxème compte avec les même lettres mais dans lequel les minuscules et majuscules sont placées différemment (exp: rAndOmAccOnT)

  • Si le deuxième compte contient les modifications du premier alors la manipulation a fonctionné.

Faire la même chose si connexion avec email.

Cas 4: Normalisation unicode

Créer un compte: victim@mail.xyz

Créer un deuxième compte avec un caractère unicode normalisant le mail en le premier créé

Exemple: vićtim@mail.xyz

Cas 5: Lien d'invitation non vérifié

Si une fonction d'invitation existe, intercepter la requête d'invitation et si le lien est leaké dans la réponse, essayer de la suivre afin de potentiellement accepter l'invitation au nom de l'utilisateur invité.

Cas 6: Reset link n'expire pas après modification de l'email

Étapes à suivre:

  • Générer un lien de reset de mot de passe.

  • Se connecter.

  • Changer d'email.

  • Se déconnecter.

  • Suivre le lien de reset de mot de passe.

  • Si il est possible de changer de mot de passe depuis l'ancien email, il y a un risque d'account takeover.

Cas 7: Email verification bypass

  • Changer d'email vers un email contrôlé par l'attaquant (attacker@mail.xyz)

  • Ne pas cliquer sur l'email de vérification.

  • Changer l'email vers un email victime (victim@mail.xyz)

  • Cliquer sur le lien précédemment reçu sur l'email attaquant.

  • Si l'email de la victime est validée à la place de l'email attaquant il y a alors un risque d'account takeover.

Mauvaise gestion des sessions

Cas 1: Session active après renommage du compte

  • Se connecter avec un compte

  • Se renommer

  • Rafraichir la page

Si l'ancien nom d'utilisateur est encore actif:

  • Créer un nouveau compte avec l'ancien nom d'utilisateur

  • Si il y a maintenant deux sessions actives sur le même nom d'utilisateur, alors la manipulation a fonctionné.

Afin de confirmer l'impact, essayer d'ajouter du contenu avec le nouveau compte et de rafraichir la page du premier pour voir si le contenu est visible par celui-ci.

Bypass de politique de mot de passe

Cas 1: Changment de mot de passe

  • Essayer de créer un mot de passe faible (bloqué par politique de mot de passe)

  • Créer un mot de passe en respect avec la politique de mot de passe.

  • Sur le compte, vérifier si la fonction de changement de mot de passe posséde la même restriction.

E-commerce

Confiance excessive dans les contrôles côté client

Arrive lorsqu'une restriction côté client n'est pas mise en place côté serveur.

Incapacité à traiter les entrées non attendues

Arrive lorsqu'une entrée utilisateur n'est pas celle qui est attendu par le serveur:

  • String > Integer

  • Integer > String

  • JSON > JSON

  • XXXX > 9999999999999999999999999999

  • ...

Bruteforce de mot de passe via fonction de password reset

Si la fonction de changement de mot de passe prend un paramètre username, email ou id, vérifier le rate limit sur la requête pour vérifier si il y a possibilité de bruteforce le mot de passe d'un autre utilisateur.

Sinon, créer un deuxième compte et essayer de changer le mot de passe de ce compte avec sur la session du premier.

Cryptographic flaw example

  • Rechercher les emplacement où du chiffrement (et non pas du hashage) est utilisé dans l'application.

  • Déterminer les emplacement ou l'application chiffre ou déchiffre des valeurs entrées par l'utilisateur.

  • Essayer de provoquer une erreur dans l'application qui révéle la valeur déchiffré ou l'emplacement dans lequelle on pourrait retrouver cette valeur.

  • Tenter de d'afficher via cette possibilité en texte clair des secrets chiffrés tels que des cookies de session, mot de passe ou encore un numéro de carte de crédit.

  • Inversement, tenter d'injecter des payload en texte clair aux emplacements ou le chiffrement est effectué.

Race condition on login form lead to information disclosure

Essayer de connecter deux utilisateurs exactement au même moment et vérifier si ces deux utilisateurs ont momentanément accès aux données le l'autre.

Ressources

Précédent.git exposéSuivantPrototype pollution

Dernière mise à jour il y a 1 an

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

🌐
💭
🛒Fonctions d'achat et de facturation
🪞Race conditions
https://portswigger.net/web-security/logic-flaws/examples/lab-logic-flaws-authentication-bypass-via-encryption-oracle
https://hackerone.com/reports/867513
https://bugreader.com/marcos@change-the-username-for-any-facebook-page-219
https://hackerone.com/reports/910300
https://hackerone.com/reports/790786