Sicherheits-Fehlkonfiguration

Sicherheits-Fehlkonfiguration

Eine CORS-Einstellung und jede Site kann das Konto lesen.

Was ist Sicherheits-Fehlkonfiguration?

Der Code ist korrekt und die API ist immer noch unsicher, da eine sicherheitsrelevante Einstellung in einem gefährlichen Zustand belassen wird. Dies ist CORS: Die API spiegelt den Ursprung wider, den ein Aufrufer an Access-Control-Allow-Origin sendet, und setzt Access-Control-Allow-Credentials auf „true“, um Browsern mitzuteilen, dass jede Website ihre Antworten mit dem Sitzungscookie des Besuchers lesen kann. Sie machen eine Belohnungsseite zu einer Waffe, die die Antwort der Konto-API an Ihren Server sendet, und beschränken dann die zulässigen Ursprünge auf eine explizite serverseitige Liste. Die Wiedergabe zeigt, dass CORS vom Browser und nicht vom Server erzwungen wird.

Was Sie lernen in Sicherheits-Fehlkonfiguration

Sicherheits-Fehlkonfiguration — Trainingsschritte

  1. Eine browserfreundliche API

    Corvexa ist eine App für die persönliche Finanzverwaltung: Man verbindet sein Bankkonto und behält die eigenen Ausgaben im Blick — und die Corvexa-Web-App liest die Kontodaten direkt im Browser aus Corvexas API. Heute hat Bob es auf Corvexa abgesehen. Er will Kontodaten von Kunden, die er abphishen und weiterverkaufen kann. Ein eigenes Wegwerf-Konto bei Corvexa hat er bereits; er beginnt in der öffentlichen Entwicklerdokumentation, um zu sehen, wie weit die API zum Browser hin geöffnet ist.

  2. Jede Website ist erlaubt

    Eine Karte in der Dokumentation beschreibt, wie die API mit Anfragen von anderen Websites umgeht. Bob liest sie genau.

  3. Als Angreifer-Website anfragen

    Bob spielt die Anfrage durch, die seine bösartige Seite später stellen wird. Er richtet einen API-Client auf den Konto-Endpunkt und setzt den Origin -Header genau so auf seine eigene Website, wie es auch ein Browser täte. In seinem Wegwerf-Konto bei Corvexa ist er angemeldet, die Anfrage trägt also eine echte Sitzung. Ihn interessiert nicht der Body, sondern das, was die API dem Browser über den erlaubten Umgang mit der Antwort mitteilt.

  4. Die API sagt Ja

    Sehen Sie sich die Antwort-Header an, die die API zusammen mit dem Konto zurückgeschickt hat.

  5. Die Köderseite

    Bob builds a harmless-looking page to host on his own site: a Corvexa reward banner. It renders in the browser on the left; its source is open in the editor on the right. On its own it does nothing but show a $50 offer.

  6. Die Seite scharfschalten

    Jetzt fügt Bob die Payload ein. Für Besucher sieht das Banner exakt gleich aus, doch im Hintergrund ruft die Seite aus deren Browser Corvexas Konto-API auf und schickt alles, was zurückkommt, an seinen eigenen Server. Weil die API seinen Origin mitsamt Zugangsdaten zulässt, erledigt das Cookie des Besuchers den Rest.

  7. Wie der Diebstahl abläuft

    Für Besucher zeigt die Seite nach wie vor nur die Prämie. Gehen Sie durch, was das eingefügte Skript tut, sobald ein angemeldeter Corvexa-Kunde sie öffnet.

  8. Den Köder verschicken

    Die Falle steht. Bob braucht nur noch einen angemeldeten Corvexa-Kunden, der sie öffnet — also schickt er einem den Prämienlink per E-Mail, aufgemacht wie eine echte Corvexa-Aktion und abgeschickt von seiner täuschend ähnlichen Domain.

  9. Eine Prämie im Posteingang

    You use Corvexa yourself, and right now you are signed into your account in your browser. An email lands offering a $50 Corvexa reward. The offer sounds plausible and the branding looks right.

  10. Den Link öffnen

    Sie klicken auf den Link, um die Prämie einzulösen — so wie es die meisten tun würden. Die Seite öffnet sich in Ihrem Browser, in dem Ihre Corvexa-Sitzung nach wie vor aktiv ist.

Abdeckung der Sicherheits-Frameworks

OWASP API Top 10

  • API8:2023 Security Misconfiguration

CWE

  • CWE-942 Permissive Cross-domain Policy with Untrusted Domains
  • CWE-1188 Initialization of a Resource with an Insecure Default

CIS Controls

  • CIS 16 Application Software Security

NIST CSF

  • PR.AT-02 Individuals in specialized roles are provided with awareness and training so that they possess the knowledge and skills to perform relevant tasks with cybersecurity risks in mind
  • PR.PS Platform Security